Announcement

Collapse
No announcement yet.

Probleme mit Connectionstring (TimeOut)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit Connectionstring (TimeOut)

    Hallo,

    Über die Microsoft-Oberfläche für UDL_Dateien kann ich zwar den Connectionstring generieren und speichern, die TimeOut-Einstellungen werden aber nicht übernommen.
    Aus www.connectionstrings.com habe ich die Syntax gelesen, Standard-Einstellung ist offenbar danach "Connection TimeOut=15"
    Das erklärt Probleme die ich habe, da in meinen Gigabyte-Datenbanken einige Abfragen durchaus länger laufen und ich bei komplizierteren Volltextsuchen die meldung "TimeOut abgelaufen." in deutsch bekomme. (MDAC 2.7 auf WIn2K und WinXP).
    Wenn ich den Connectionstring in meinem Programm manuell erweitere um ";connection timeout=300" ändert sich nichts an der Situation, die Timeouts kommen weiterhin.

    Hat jemand eine Lösung für mich?

    Danke!

    Willmar

  • #2
    Hallo Willmar,

    ConnectionTimeOut ist die Zeit nach der ein erfolgloser Versuch eine Verbindung zur Datenbank herzustellen abgebrochen wird.

    Versuche mal CommandTimeOut. Die Zeit nach der ein Kommando abgebrochen wird.

    Funktioniert gut.

    Hoffe es hilft

    Knu

    Comment


    • #3
      Hallo Knut,

      "CommandTimeOut" wurde als falsches Attribut angemeckert, "Command TimeOut=300" wird zwar akzeptiert, aber bei Recherchen im 1 minuten-Bereich habe ich immer noch den TimeOut.... :-(

      Gruss

      Willma

      Comment


      • #4
        Moin Willmar,

        ich mach es so:

        <PRE>
        // mit TADODataSet
        with dsLbStatus do // TADODataSet
        try
        Close;
        Connection := dmBonus.conBonus; // conBonus: TADOConnection;
        CursorLocation := clUseClient;
        CommandTimeOut := 600;
        CommandType := cmdStoredProc;
        CommandText := 'bonus_sp_10015';
        ...
        Active := true;

        // mit nativen ADO-Komponenten
        aCmd := CoCommand.Create;
        aCmd.CommandTimeout := 600;
        with aCmd do
        begin
        CommandType := adCmdStoredProc;
        CommandText := 'bonus_sp_10015';
        ...

        </PRE>

        vor dem Öffenen des DataSet (Command, ...) wird CommandTimeout gesetzt. Ich habe da einige Abfragen, die bis zu 5 Minuten laufen und das funktioniert einwandfrei. Zumindest mit MS-SQL Server.

        Das Ändern von CommandTimeout des Connection-Objekts macht nicht soviel Sinn, da

        1.) in der Regel hier mehrere Komponentan beeinflusst würden
        2.) Die Änderung erst nach dem Trennen und erneutem Öffnen der
        Connection aktiv wird.

        Viel Spaß damit

        Knu

        Comment


        • #5
          Danke für die wirklich ausführliche Antwort.

          Werde ich umgehend testen!

          Viele Grüsse

          Willma

          Comment


          • #6
            Danke - das war's wirklich!

            Damit habe ich ein Problem lösen können, das ich über Monate mit mir rumgeschleppt habe....

            Viele Grüsse

            Willma

            Comment

            Working...
            X