I've been trying to get our in-house tools working with Oracle direct mode but am stuck with getting the metadata commands to work. Both the Devart Oracle & SqlServer drivers work with the metadata commands, but we have a few installations where Oracle direct mode would be a better choice.
Oracle direct works fine for normal queries, updates, etc, but whenever I try a metadata command I get an error like:
Project DBDiff.exe raised exception class TDBXMetaDataError with message 'Could not parse the GetTables metadata command. Problem found near: :. Original query: GetTables ora11g:1521:TIPQA11g . auto_74 .% Table;.'.
Before I spend any more time on trying to work through the problem I was wondering if it's even supported. I haven't found anything in the help or forums regarding it.
ie. aConnection.GetTableNames(TableList, aSchema, False);
where
AConnection is a valid TSqlConnection
TableList is a TStringList
ASchema is a string = '';
Thanks,
Rich Werning
TIP Technologies, Inc.
Does OracleDirect support TSqlConnection metadata commands?
Re: Does OracleDirect support TSqlConnection metadata commands?
Hello,
Thank you for the information. We have reproduced the problem. We will inform you as soon as we have any results.
Thank you for the information. We have reproduced the problem. We will inform you as soon as we have any results.
Re: Does OracleDirect support TSqlConnection metadata commands?
I have since found that it seems to work correctly if you add UseQuoteChar=True to the driver settings. As an FYI, this is the settings we use.
[DevartOracleDirect]
GetDriverFunc=getSQLDriverORADirect
DriverUnit=DBXDevartOracle
DriverAssemblyLoader=Devart.DbxOda.DriverLoader.TCRDynalinkDriverLoader,Devart.DbxOda.DriverLoader,Version=1.0.0.5001,Culture=neutral,PublicKeyToken=09af7300eec23701
LibraryName=dbexpoda40.dll
VendorLib=dbexpoda40.dll
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
Oracle TransIsolation=ReadCommited
ProductName=OracleDirect
RowsetSize=20
Multiple Transaction=False
Trim Char=False
Decimal Separator=.
UseUnicode=False
UseQuoteChar=True
[DevartOracleDirect]
GetDriverFunc=getSQLDriverORADirect
DriverUnit=DBXDevartOracle
DriverAssemblyLoader=Devart.DbxOda.DriverLoader.TCRDynalinkDriverLoader,Devart.DbxOda.DriverLoader,Version=1.0.0.5001,Culture=neutral,PublicKeyToken=09af7300eec23701
LibraryName=dbexpoda40.dll
VendorLib=dbexpoda40.dll
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
Oracle TransIsolation=ReadCommited
ProductName=OracleDirect
RowsetSize=20
Multiple Transaction=False
Trim Char=False
Decimal Separator=.
UseUnicode=False
UseQuoteChar=True
Re: Does OracleDirect support TSqlConnection metadata commands?
Hello,
Yes, it can be one of the problem solutions. In addition, to solve the problem, instead of the Database parameter, you can use the HostName parameter supported in the major Delphi versions.
Yes, it can be one of the problem solutions. In addition, to solve the problem, instead of the Database parameter, you can use the HostName parameter supported in the major Delphi versions.