Freigeben über


SQLSETPROP( )-Funktion

Gibt Einstellungen für eine aktive Verbindung an.

SQLSETPROP(nConnectionHandle, cSetting [, eExpression])

Rückgabewerte

Numerisch

Parameter

  • nConnectionHandle
    Gibt das Verbindungshandle der Datenquelle an, das von SQLCONNECT( ) zurückgegeben wird.

  • cSetting
    Gibt die Einstellung an. In der folgenden Tabelle sind die möglichen Werte für cSetting aufgelistet.

    Einstellung Beschreibung
    Asynchronous Gibt an, ob Resultsets synchron (Falsch (.F.), Standard) oder asynchron (Wahr (.T.)) zurückgegeben werden.
    Lese-/Schreibzugriff.
    BatchMode Gibt an, wie SQLEXEC( ) Resultsets zurückgibt: alle gleichzeitig (Wahr (.T.), Standard) oder einzeln mit SQLMORERESULTS( ) (Falsch (.F.)).
    Lese-/Schreibzugriff.
    ConnectBusy Enthält Wahr (.T.), wenn eine gemeinsam genutzte Verbindung besetzt ist, andernfalls Falsch (.F.).
    Schreibgeschützt.
    ConnectString Die Verbindungszeichenfolge für die Anmeldung.
    Schreibgeschützt.
    ConnectTimeOut Gibt die Wartezeit (in Sekunden) an, bevor ein Zeitüberschreitungsfehler für eine Verbindung zurückgegeben wird. Wenn Sie 0 angeben, ist die Wartezeit unbestimmt, und es wird kein Zeitüberschreitungsfehler gemeldet. Die Werte für ConnectTimeOut liegen zwischen 0 und 600. Der Standardwert ist 15.
    Lese-/Schreibzugriff.
    DataSource Der Name der Datenquelle wie in der Datei Odbc.Ini definiert.
    Lese-/Schreibzugriff.
    DispLogin Ein numerischer Wert, der festlegt, wann das ODBC-Anmeldedialogfeld angezeigt wird. DispLogin kann die folgenden Werte annehmen:

    1 oder DB_PROMPTCOMPLETE (aus Foxpro.h). Der Standardwert ist 1.

    2 oder DB_PROMPTALWAYS (aus Foxpro.h).

    3 oder DB_PROMPTNEVER (aus Foxpro.h).

    Ist 1 oder DB_PROMPTCOMPLETE angegeben, zeigt Visual FoxPro das Dialogfeld ODBC Login nur an, wenn benötigte Daten fehlen.

    Wird 2 oder DB_PROMPTALWAYS angegeben, dann wird das ODBC-Anmeldedialogfeld immer angezeigt, so dass Sie Einstellungen ändern können, bevor die Verbindung hergestellt wird.

    Wird 3 oder DB_PROMPTNEVER angegeben, wird das Dialogfeld ODBC Login nicht angezeigt. Visual FoxPro erzeugt einen Fehler, wenn die notwendigen Anmeldedaten nicht verfügbar sind.
    Lese-/Schreibzugriff.

    DispWarnings Gibt an, ob Fehlermeldungen angezeigt werden (Wahr (.T.)) oder nicht (Falsch (.F.), Standardeinstellung).
    Lese-/Schreibzugriff.
    IdleTimeout Leerlauf-Zeitüberschreitungsintervall in Sekunden. Aktive Verbindungen werden nach dem hier angegebenen Zeitintervall deaktiviert. Der Standardwert ist 0 (unbegrenzt warten). Lese-/Schreibzugriff.
    ODBChdbc Das interne ODBC-Verbindungshandle, das von externen Bibliotheksdateien (FLL-Dateien) zum Aufrufen von ODBC verwendet werden kann.
    Schreibgeschützt.
    ODBChstmt Das interne ODBC-Anweisungshandle, das von externen Bibliotheksdateien (FLL-Dateien) zum Aufrufen von ODBC verwendet werden kann.
    Schreibgeschützt.
    PacketSize Größe des Netzwerkpakets, die von der Verbindung verwendet wird. Das Anpassen dieses Wertes kann die Leistung steigern. Der Standardwert ist 4096 Byte (4 KB).
    Lese-/Schreibzugriff.
    Kennwort Das Kennwort für die Verbindung.
    Schreibgeschützt.
    QueryTimeOut Gibt die Wartezeit (in Sekunden) an, bevor ein allgemeiner Zeitüberschreitungsfehler zurückgegeben wird. Wenn Sie 0 angeben (Standard), ist die Wartezeit unbestimmt, und es wird kein Zeitüberschreitungsfehler gemeldet. QueryTimeOut kann zwischen 0 und 600 liegen.
    Lese-/Schreibzugriff.
    Transactions Enthält einen numerischen Wert, der festlegt, wie die Verbindung Transaktionen bei der Remotetabelle verwaltet. Transactions kann einen der folgenden Werte haben:

    1 oder DB_TRANSAUTO (aus Foxpro.h). Der Standardwert ist 1. Die Transaktionsausführung für die Remotetabelle wird automatisch verwaltet.

    2 oder DB_TRANSMANUAL (aus Foxpro.h). Die Transaktionsverarbeitung wird manuell über SQLCOMMIT( ) und SQLROLLBACK( ) verwaltet.
    Lese-/Schreibzugriff.

    UserId Die Benutzeridentifizierung.
    Schreibgeschützt.
    WaitTime Die Zeit in Millisekunden, die vergeht, bevor Visual FoxPro prüft, ob die Ausführung der SQL-Anweisung beendet ist. Der Standardwert beträgt 100 Millisekunden.
    Lese-/Schreibzugriff.
  • eExpression
    Gibt den Wert für die Einstellung an, die Sie in cSetting angegeben haben. Ohne Angabe von eExpression wird für die Einstellung der Standardwert eingesetzt.

Hinweise

Bei erfolgreicher Ausführung gibt SQLSETPROP( ) den Wert 1 zurück. Bei einem Fehler auf Verbindungsebene wird -1 zurückgegeben. Der Wert -2 wird bei einem Fehler auf Umgebungsebene zurückgegeben.

Mit SQLSETPROP( ) können Sie Einstellungen auf Verbindungsebene festlegen. Um auf Umgebungsebene Visual FoxPro-Standardeinstellungen festzulegen, geben Sie 0 als Verbindungshandle an.

Die Option ConnectTimeOut kann nur auf Visual FoxPro-Ebene gesetzt werden. Es gibt keine gleichwertige Option auf der Verbindungsebene. Alle anderen Optionen können Sie sowohl auf die Verbindungs- als auch auf die Visual FoxPro-Ebene festlegen. Alle auf Visual FoxPro-Ebene gesetzten Optionen dienen als Standardwert für nachfolgende Verbindungen.

Mit SQLGETPROP( ) können Sie für eine angegebene Einstellung deren aktuellen Wert ermitteln.

Anmerkung   Der ODBC-Logindialog muss deaktiviert sein, damit SQL-Pass-Through durch den Microsoft Transaction Server unterstützt wird. Verwenden Sie SQLSETPROP(cConnectionHandle, 'DispLogin', 3), um den ODBC-Logindialog zu deaktivieren. Der ODBC-Logindialog kann auch im Verbindungs-Designer deaktiviert werden.

Beispiel

Die Paketgröße für die aktuelle Verbindung wird mit SQLSETPROP( ) festgelegt.

* Clear environment
CLOSE ALL
CLEAR ALL
CLEAR

* Display the Select Connection or Datasource dialog box
* to choose a connection
nHandle=SQLCONNECT()

* Test connection, report results
IF nHandle > 0
   * Set PacketSize
   nSet=SQLSETPROP(nHandle, "PacketSize", 2048 )
   * Test setting and display results
   IF nSet > 0
      =MESSAGEBOX("PacketSize was set to 2048",0,"Connection Results")
   ELSE
      =MESSAGEBOX("Error setting PacketSize",0,"Connection Results")
   ENDIF
ELSE
   =MESSAGEBOX("No Connection",0,"Connection Results")
ENDIF
=SQLDISCONNECT(nHandle)

Siehe auch

AERROR( ) | SQLGETPROP( ) | Verbindungs-Designer