Нарушение прав доступа по адресу 04FD6CC2 в модуле dbxora.dll. Чтение адреса 00000004 - PullRequest
0 голосов
/ 18 июня 2020

Я создал приложение базы данных DELPHI, которое будет использовать компонент DBX TSQLConnection для подключения к базе данных Oracle (версия 19 c) . Я получаю ошибку нарушения прав доступа , когда я вызываю oracle функцию listagg (SQLQuery1.open - в этой строке).

Когда я отлаживаю, я получил ошибку в объектном файле ниже,

FileName : Data.DBXDynalink.pas

Function : function TDBXDynalinkReader.DerivedNext: Boolean ;

Строка ошибки : DBXResult: = FMethodTable.FDBXReader_Next (FReaderHandle);

Фактическая ошибка: нарушение доступа по адресу 04FD6CC2 в модуле 'dbxora .dll '. Чтение адреса 00000004

Ниже мой код,

...SQLQuery1 initialization....

SQLQuery1.CommandText := Trim(memoSQLText.Lines.Text); // Assigning query
SQLQuery1.Open; // Exactly on this line i'm getting error
if SQLQuery1.RecordCount > 0 then

....Do something here....

Примечание: тот же запрос выполняется в других версиях, которые все ниже Oracle версия 19 C (19.3)

Версия IDE, используемая для разработки приложений: DELPHI XE3 (я также проверял DELPHI 10.1 Берлин)

DB версия: Oracle 19 C (19.3)

Шаги для воспроизведения:

// 1.Execute below queries in order to create testing data ,

create table myuserlist(myuser varchar2(10));

Insert into myuserlist(myuser) values('karthik');
Insert into myuserlist(myuser) values('aarush');
Insert into myuserlist(myuser) values('yuvan');

// 2.Try to open the below mentioned query using TSQLConnection and TSQLQuery 

select listagg(a.myuser, ', ') within group (order by a.myuser) as myusernames from myuserlist a

Пример проекта доступен в GitHub, https://github.com/yuvankarthik/DELPHI-DemoOracleConnect.git

Помогите мне решить эту проблему.

...