模块'dbxora.dll'中地址04FD6CC2的访问冲突。读取地址00000004

时间:2020-06-18 08:06:48

标签: access-violation delphi-xe3 listagg dbx oracle19c

我已经创建了 DELPHI 数据库应用程序,它将使用 DBX TSQLConnection 组件连接到 Oracle数据库(19c版)。 我收到访问冲突错误时,我调用 oracle listagg函数(SQLQuery1.open-在此行中)。

调试后,我在下面的目标文件中得到了错误,

文件名:Data.DBXDynalink.pas

函数:函数TDBXDynalinkReader.DerivedNext:布尔值;

错误行:DBXResult:= FMethodTable.FDBXReader_Next(FReaderHandle);

实际错误:模块'dbxora.dll'中地址04FD6CC2的访问冲突。读取地址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 19C(19.3)以下的其他版本中都将执行相同的查询

用于应用程序开发的IDE版本:DELPHI XE3(我也已经在DELPHI 10.1 Berlin上进行了检查)

数据库版本:Oracle 19C(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

帮助我解决此问题。

0 个答案:

没有答案