Page 1 of 1
Problem connecting to an advantage database server
Posted: Tue 31 Aug 2010 10:46
by shsit
Hi,
I want to connect to an ADS Server using unidac.
I have an ADS Server in version 9.10.0.9 installed and running.
Advantage StreamlineSQL ODBC is installed in version 9.10.00.21.
I'm using the TUniConnection componenent configured for an ADS Server and I am able to connect succesfully.
However, when I take TUniQuery component, configure an SQL statement and try to set it active, it get this Error:
External Exception C06D007F
What could be wrong?
Thanks for your help.
EDIT:
I'm using Windows7 32 Bit and Delphi 2009
EDIT2:
I've just installed UniDac for Delphi 7 under a Win XP System and getting exactly the same error.
Posted: Wed 01 Sep 2010 07:59
by AlexP
Hello,
I could not reproduce the problem.
Try to create a new application and execute the same code. Please provide me the result of executing this code. If this code is working correctly then please modify this code to reproduce your issue.
UniConnection:= TUniConnection.Create(nil);
UniQuery:= TUniQuery.Create(nil);
UniConnection.ProviderName := 'Advantage';
UniConnection.Database := 'full path to you database directory\full name your database file';
UniConnection.Username := 'your_user_name';
UniConnection.Password := 'your_passwd';
UniQuery.Connection := UniConnection;
UniQuery.SQL.Text :='your sql';
try
UniConnection.Connect;
UniQuery.Open;
except
on E:Exception do showMessage(E.Message);
end;
Posted: Thu 16 Sep 2010 09:45
by KennyCool
Hello
Today I've installed UniDAC (trial).
I've created a small testproject, to connect to our ADS-Server. There I've found this strange behavior, too.
1. New Project
2. Put TUniConnection and set Properties (Connect to ADS successfully)
3. Put TUniQuery and set SQL-Statement (select * from tablename)
4. Setting the query active, causes the error.
External Exception C06D007F
But I only get this error, while I am in "design-time" (IDE).
The connection and the SQL statement will work fine, when the project is compiled and running (same components and properties).
And it will also work, if I create the components manually in the sourcecode.
dfm-file:
Code: Select all
object con1: TUniConnection
ProviderName = 'Advantage'
Database = 'T:\Data\dd.add'
Username = 'ADSSYS'
Connected = True
LoginPrompt = False
Left = 24
Top = 24
end
object qry1: TUniQuery
Connection = con1
SQL.Strings = (
'select * from TABLENAME')
Left = 64
Top = 24
end
object AdvantageUniProvider1: TAdvantageUniProvider
Left = 144
Top = 24
end
What can I do to solve this problem?
Thanks a lot!
My Platform:
WinXP SP 3
CodeGear RAD Studio Delphi 2007 (incl. December 2007 upd.)
UniDAC v3.50.0.12 TRIAL
Advantage Database Server v10.0.0.3
Advantage ODBC Driver v10.0
Installed IDE plugins:
CnPack IDE Wizards 0.9.6.569
DDevExtensions 1.61
IDE Fix Pack 2007 3.0
GeExperts 1.33
Posted: Thu 16 Sep 2010 10:07
by KennyCool
Additional: Stack
main thread ($e24):
07edbacd +000 unidac105.bpl
7c91e485 +009 ntdll.dll KiUserExceptionDispatcher
137376c9 +010 adsodbc.dll SQLPrepareW
745f524e +072 odbc32.dll SQLPrepare
0ee07387 +08f odbcprovider105.bpl Odbcclassesuni TODBCCommand.InternalPrepare
0ee06b00 +0c4 odbcprovider105.bpl Odbcclassesuni TODBCCommand.Prepare
07d7223c +008 dac105.bpl Craccess TCRRecordSet.InternalPrepare
0ee08851 +005 odbcprovider105.bpl Odbcclassesuni TODBCRecordSet.InternalPrepare
0ee0856d +041 odbcprovider105.bpl Odbcclassesuni TODBCRecordSet.ExecCommand
07d723ea +00a dac105.bpl Craccess TCRRecordSet.ExecFetch
07d72281 +035 dac105.bpl Craccess TCRRecordSet.InternalOpen
07d2b2d3 +037 dac105.bpl Memdata TData.Open
07d33990 +000 dac105.bpl Memdata TMemData.Open
07d723b0 +000 dac105.bpl Craccess TCRRecordSet.Open
07d3cefc +02c dac105.bpl Memds TMemDataSet.InternalOpen
07d5c152 +0c6 dac105.bpl Dbaccess TCustomDADataSet.InternalOpen
203af4fd +00d dbrtl100.bpl DB 9262 +1 DB.TDataSet.DoInternalOpen
203af471 +049 dbrtl100.bpl DB 9244 +11 DB.TDataSet.SetActive
07d56329 +03d dac105.bpl Dbaccess TCustomDADataSet.SetActive
2002ae7e +036 rtl100.bpl TypInfo 1316 +27 TypInfo.SetOrdProp
20d29fd6 +022 designide100.bpl DesignEditors 841 +2 DesignEditors.TPropertyEditor.SetOrdValue
20d2b073 +047 designide100.bpl DesignEditors 1401 +5 DesignEditors.TEnumProperty.SetValue
20d29c8d +0c1 designide100.bpl DesignEditors 671 +11 DesignEditors.TPropertyEditor.Edit
20ab55c6 +14e coreide100.bpl PropInsp 855 +20 PropInsp.TPropertyInspector.PropListEditDblClick
20e0ed7d +015 vclide100.bpl ideinsplistbox 967 +2 IDEInspListBox.TInspListBox.DoEditDblClick
20e10602 +002 vclide100.bpl ideinsplistbox 1538 +0 IDEInspListBox.TInspListBox.EditDblClick
2013ca49 +015 vcl100.bpl Controls 5234 +1 Controls.TControl.DblClick
2013cbac +034 vcl100.bpl Controls 5275 +4 Controls.TControl.WMLButtonDblClk
2013c527 +2bb vcl100.bpl Controls 5146 +83 Controls.TControl.WndProc
201406a7 +4fb vcl100.bpl Controls 7304 +111 Controls.TWinControl.WndProc
20e0df4b +037 vclide100.bpl ideinsplistbox 430 +7 IDEInspListBox.TPropInspEdit.WndProc
2013fdd0 +02c vcl100.bpl Controls 7073 +3 Controls.TWinControl.MainWndProc
20040e4c +014 rtl100.bpl Classes 11583 +8 Classes.StdWndProc
7e368a0b +00a USER32.dll DispatchMessageW
201625e8 +0f4 vcl100.bpl Forms 8103 +21 Forms.TApplication.ProcessMessage
2016262a +00a vcl100.bpl Forms 8124 +1 Forms.TApplication.HandleMessage
Posted: Fri 17 Sep 2010 06:43
by AlexP
Hello,
Try executing INSERT, UPDATE or DELETE statement in design-time, and please let me know the result.
Posted: Fri 17 Sep 2010 07:20
by KennyCool
Hi,
I'd use the TUniSQL component to test the INSERT / UPDATE / DELETE statements.
And tried it with different tables...
Result: Always the same error occurs.
Could there be a problem with the ODBC driver of advantage?
But why it works, when its compiled? *hm*
EDIT:
If I connect to a MS-SQL-Server - everything works fine - no exceptions...
EDIT2:
I'd install the old Advantage ODBC driver (v9.1), but it's always the same...

Posted: Mon 20 Sep 2010 07:00
by AlexP
Hello,
Im trying to reproduce this error on the software you have specified (but without plugins), and everything works correctly.
Also you can download the Advantage StreamlineSQL ODBC driver, and try again. If it doesn't help, maybe the trouble is in your software.
Posted: Mon 20 Sep 2010 07:23
by KennyCool
Hello
The exception C06D007F is a windows delayed load or missing export exception.
I've an older version of the Advantage TDataSet Descendant installed in Delphi. When Delphi loads, those components it will load an older version of ace32.dll - so they are missing required exports.
I'm now using compatible components:
- Server v9.10.0.24
- StreamlineSQL ODBC v9.10.00.21
- TDataset Descendant components v9.10.0.9 (ACE 9.10)
(I think this will work with the ADS 10, too)
So the solution is to use the complete compatible version of ADS.
Thank you for your help!
Posted: Wed 22 Sep 2010 09:25
by shsit
Hi,
thanks for your help!
I could also the solve the problem with installing a new version of the TDataset Descendant.