Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Datenbank-Metainformationen abfragen schlägt fehl

  Alt 16. Mär 2016, 12:27
Selbst wenn ich ein- und dieselbe TFDCustomConnection-Instanz verwende, erhalte ich regelmäßig beim Versuch die sechste von 96 Tabellen zu öffnen die oben genannte Exception.

Delphi-Quellcode:
procedure TDbStructureExporter.SaveDatabaseDetails(
  const ACatalogName: string;
  const ASchemaName: string = '';
  const APattern: string = '');
var
  TableList: TStringList;
  TableName: string;
begin
  TableList := TStringList.Create;
  try
    FConnectionWrapper.Connecton.GetTableNames(ACatalogName, ASchemaName, APattern, TableList);
    CoInitialize(nil);
    for TableName in TableList do
    begin
      ExportTable(TableName);
    end;
    CoUninitialize;
  finally
    TableList.Free;
  end;
end;

procedure TDbStructureExporter.ExportTable(const ATableName: string);
var
  LTable: TFDTable;
  LTableName: string;
begin
  LTableName := ATableName;

  LTable := TFDTable.Create(nil);
  LTable.Connection := FConnectionWrapper.Connecton;
  try
    if LTable.Connection.Connected then
    begin
      LTable.Open(LTableName); // <--- hier knallts dann!

      LTable.FieldDefs.Update;
      if LTable.FieldDefs.Updated then
        LTable.SaveToFile('C:\Temp\' + LTableName + '.xml', TFDStorageFormat.sfXML);
    end;
  finally
    LTable.Free;
  end;
end;

Geändert von TiGü (16. Mär 2016 um 12:30 Uhr)
  Mit Zitat antworten Zitat