Page 1 of 1

TMsMetadata does not work any more

Posted: Tue 08 May 2007 00:20
by jaska45
Hi,

I updated from SDAC 3.55.1.20 to 3.80.0.37 and the following code does not work any more:
metadata.Eof returns True just after Open so it fails to get the metadata. In the old version is worked just fine.

What might be the problem?

I am using Delphi 7 and SQL Server Express (SQL Server 9.0.3042)

Best regards,
Jaakko Salmenius

function TLaSqlServerDatabase.DoGetPrimaryKeyFields(dataSet: TDataSet): WideString;
var
field: TStringField;
metadata: TMsMetadata;
begin
Result := '';

metadata := TMsMetadata.Create(nil);
try
metadata.Connection := FConnection;
metadata.DatabaseName := metadata.Connection.Database;
metadata.TableName := (dataSet as TMsTable).TableName;
metadata.ObjectType := otPrimaryKeys;
metadata.Open;

while not metadata.Eof do
begin
field := metadata.FieldByName('COLUMN_NAME') as TStringField;

if Result '' then
Result := Result + ';';

Result := Result + field.Value;

metadata.Next;
end;
finally
metadata.Free;
end;
end;[/b]

Posted: Tue 08 May 2007 08:47
by Jackson
Please make sure that the table name specified without schema name in the TMSMetaData.TableName property.
In SDAC 3.80 in the TMSTable design-time editor the list of tables contains table names with schema names.

Posted: Tue 08 May 2007 23:36
by jaska45
Thanks. It worked.

Jaakko