ich greife in einem Programm mittels ODBC auf einen MS SQL-Server zu. Das hat bisher auch gut funktioniert. Seit der Umstellung auf Lazarus 2.0.10 und FPC 3.2 erhalte ich hier einen HY010-Fehler. Das heißt, dass im Hintergrund noch Aktionen laufen. Allerdings erhalte ich diesen Fehler auch, wenn nur ein Connect und ein Disconnect vom Programm ausgeführt wird.
Hat hier jemand eine Idee?
Aufbau der Verbindung:
Code: Alles auswählen
procedure TMSSql.openConnection;
begin
  // wenn nicht verbunden
  if (FMSSQLConnection = nil) or (not FMSSQLConnection.Connected) then
  begin
    try
      FMSSQLConnection := TODBCConnection.Create(nil);
      FSQLTransaction := TSQLTransaction.Create(nil);
      FMSSQLConnection.Params.Add('Dsn=' + getMSSQLServer);
      FMSSQLConnection.Params.Add('Server=' + getMSSQLServer);
      FMSSQLConnection.Params.Add('AUTOCOMMIT=1');
      FMSSQLConnection.Transaction := FSQLTransaction;
    except
      on E: Exception do
        WriteLn('Fehler bei der Verbindung zur MSSQL Datenbank!');
    end;
  end;
end;   Code: Alles auswählen
procedure TMSSql.closeConnection;
begin
  // prüfen ob verbunden
  if FMSSQLConnection.Connected then
  begin
    try
      // Transaktion beenden
      FSQLTransaction.CommitRetaining;
      FSQLTransaction.EndTransaction;
      // Verbindung schließen
      FMSSQLConnection.Close(True);
    except
      on E: Exception do
        Write('Fehler beim Close!');
    end;
  end;
end;   Code: Alles auswählen
[FORMS.PP] ExceptionOccurred
  Sender=EODBCException
  Exception=Could not free ODBC Environment handle. ODBC error details: LastReturnCode: SQL_ERROR; Record 1: SqlState: HY010; NativeError: 0; Message: [Microsoft][ODBC Driver Manager] Fehler in der Funktionsreihenfolge;
  Stack trace:
  $00000001001F44D9
  $00000001001F466F
  $00000001001F87A4
  $000000010000F06B
  $00000001001F8977
  $00000001000118F7
  $0000000100011BC2
  $0000000100011C6A
  $0000000100003845  main,  line 165 of RiedlEDIConv.lpr
  $0000000100003866  main,  line 165 of RiedlEDIConv.lpr
  $0000000100017B30
  $0000000100002D30
  $00007FFF81CA7034
  $00007FFF837BCEC1
Exception at 00000001001F44D9: EODBCException:
Could not free ODBC Environment handle. ODBC error details: LastReturnCode: SQL_ERROR; Record 1: SqlState: HY010; NativeError: 0; Message: [Microsoft][ODBC Driver Manager] Fehler in der Funktionsreihenfolge;.
Marked memory at $00000000086FF008 invalid
Wrong size : 18369900232523579118 allocated 18369900232523532423 freed


 Aber das mit einem Update könnte durchaus sein. Das würde erklären, warum das auf einmal kam ... Aber das kann ich erst nächste Woche prüfen.
 Aber das mit einem Update könnte durchaus sein. Das würde erklären, warum das auf einmal kam ... Aber das kann ich erst nächste Woche prüfen. 
 
 Verein
Verein 
 Links
Links Suche
Suche