SDAC and Midas

Discussion of open issues, suggestions and bugs regarding SDAC (SQL Server Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
devcorrespondence@hambs.c

SDAC and Midas

Post by devcorrespondence@hambs.c » Wed 20 Apr 2005 04:31

Hi,

I am experiencing a problem with SDAC under the following situation...

- Table with a composite primary key
- Records in the table where the first value of the key is repeated
- TmsQuery linked to a TDataSetProvider linked to a TClientDataset (on local server)

Sample data set (Field1, Field2) = (1, 1), (1, 2), (2, 3), (3, 4)

On some machines all records are returned. On other machines all records are returned to the query component but the clientdataset only has records up to the point where the first field in the key is repeated. I have traced this back to different versions of the Midas dll (Midas.dll - MS Windows 2000 Professional).

My question is... are there any known problems with various versions of Midas.dll and SDAC components. I don't want to update the dll to fix this problem but introduce another problem by doing so. Any recommendations?

Thanks in advance,
John Ginn

Ikar
Posts: 1693
Joined: Thu 28 Oct 2004 13:56

Post by Ikar » Wed 20 Apr 2005 09:56

We have never received messages about similar problems. If you could reproduce the problem please send us a complete small sample.

ben604
Posts: 7
Joined: Mon 18 Sep 2006 15:11

Post by ben604 » Mon 10 Dec 2007 14:34

We are experiencing the exact same problem. I'm pretty sure the bug lies with Midas.dll though.

This is in Delphi 5.

The following is happening. On the server that hosts the provider in "TDataPacketWriter.GetDataPacket" the "WriteDataset" method correctly converts the Dataset with all rows to the "FPutFieldInfo" array. So it seems like all data is correctly retreived from sql server. The "FIDSWriter.GetDataPacket" method which seems like its a call into "midas.dll" only manages to convert the rows that satsfies the 1st entry of the Clustered index.

The bug might be in midas.dll or SDAC is somehow giving midas.dll data that is confusing it.

Removing the clustered index from the table fixed the problem. One note on the query is that it contained a group by clause and was summing values in the select. When the query was changed to simply return all data and not group by, then all data was returned even with the Clusterd index.

ben604
Posts: 7
Joined: Mon 18 Sep 2006 15:11

Post by ben604 » Mon 10 Dec 2007 14:35

One more note is that the issue only occurs on a SQL2005 server and not on SQL2000.

Antaeus
Posts: 2098
Joined: Tue 14 Feb 2006 10:14

Post by Antaeus » Wed 19 Dec 2007 08:59

I could not reproduce the problem.
Please send me a complete small sample at sdac*crlab*com to demonstrate it, including script to create and fill table.

Also supply me the following information:
- exact version of SDAC. You can see it in the About sheet of TMSConnection Editor;
- exact version of your IDE;
- exact version of SQL server and client. You can see it in the Info sheet of TMSConnection Editor.

Post Reply