andyah
Goto Top

ODBC-Verbindung per VBS

ODBC-Verbindung per VBS

Hi NG,

wie kann ich eine ODBC-Verbindung zu einem SQL-Server per VBS erstellen?

Gruß
Andy

Content-Key: 164392

Url: https://administrator.de/contentid/164392

Printed on: April 25, 2024 at 21:04 o'clock

Member: keksdieb
keksdieb Apr 12, 2011 at 07:37:21 (UTC)
Goto Top
Moin Andy,

Kurze Frage, kurze Antwort:

Schau die die Funktion CreateObject("ADODB.Connection") mal an.

Hier ist der Nachfolger von DAO beschrieben: Link

Grüße Keksdieb
Member: AndyAh
AndyAh Apr 12, 2011 at 07:44:24 (UTC)
Goto Top
Hi,

danke für die Antwort; Ich habe mich wohl falsch ausgedrückt.
Die ODBC-Verbindung (DSN-Verbindung) exitiert noch nicht und soll erst angelegt werden.

Gruß
Andy
Member: keksdieb
keksdieb Apr 12, 2011 at 07:58:45 (UTC)
Goto Top
erm...

Auch das wird auf der verlinkten Seite erkärt...

Option Explicit
Dim Cn As New ADODB.Connection

Private Sub Form_Load()
    With Cn
    'Meistens Cursor auf Client außer für SEHR große Arbeiten  
        .CursorLocation = adUseClient

    ' Sperrungen (hier keine bei Multiuser)  
        .Mode = adModeShareDenyNone

    ' DB-Provider (hier Access 2000)  
        .Provider = "Microsoft.Jet.OLEDB.4.0"  
        .ConnectionString = "Data Source=C:\Temp\Test.mdb"  
        .Open
    End With
End Sub
Member: AndyAh
AndyAh Apr 12, 2011 at 08:06:58 (UTC)
Goto Top
Hi,

nochmal ich. Wie sieht das denn in Visual Basic Script aus?

Gruß
Andy
Member: keksdieb
keksdieb Apr 12, 2011 at 08:24:51 (UTC)
Goto Top
genauso wie mein Codeschnipsel oben...
Member: bastla
bastla Apr 12, 2011 at 09:54:27 (UTC)
Goto Top
@keksdieb
Nicht wirklich - und das beginnt schon bei den fehlenden Konstanten (zu finden in "C:\Programme\Gemeinsame Dateien\System\ado\adovbs.inc") ...

Ungetestet daher eher:
Const adUseClient = 3
Const adModeShareDenyNone = &H10

Set Cn = CreateObject("ADODB.Connection")  
With Cn
    'Meistens Cursor auf Client außer für SEHR große Arbeiten  
    .CursorLocation = adUseClient

    ' Sperrungen (hier keine bei Multiuser)  
    .Mode = adModeShareDenyNone

    ' DB-Provider (hier Access 2000)  
    .Provider = "Microsoft.Jet.OLEDB.4.0"  
    .ConnectionString = "Data Source=C:\Temp\Test.mdb"  
    .Open
End With
Grüße
bastla
Member: keksdieb
keksdieb Apr 12, 2011 at 12:20:28 (UTC)
Goto Top
hui...

Danke für die Korrektur :D
Und entschuldigung für die Fehlinformation @ Andy

Bei mir waren die Konstanten aber von Haus aus dabei... (Win2003 Server).
Ich habe jedenfalls nicht bewusst was installiert...

Ich suche die alten Scripte mal raus.


Grüße Keksdieb
Member: bastla
bastla Apr 12, 2011 at 12:24:41 (UTC)
Goto Top
@keksdieb
Bei mir waren die Konstanten aber von Haus aus dabei... (Win2003 Server).
Dabei im Sinne von "als Datei im angegebenen Ordner vorhanden" helfen sie aber wenig - sie müssen im Script deklariert werden, indem entweder der gesamte Dateiinhalt oder eben selektiv die verwendeten Konstanten am Anfang des Scripts eingefügt werden.

Grüße
bastla

[Edit]
Da halten sich die vordefinierten Konstanten in engen Grenzen.
Für Grenzgänger: http://msdn.microsoft.com/en-us/library/ydz4cfk3%28vs.71%29.aspx
[/Edit]
Member: Biber
Biber Apr 12, 2011 at 12:27:29 (UTC)
Goto Top
Moin koksdieb,

brauchst nicht zu suchen - das ist eine ganz natürliche Erscheinung, das diese Konstanten in VBS nicht definiert sind.
Woher auch?

"Skripte" kommen aus der prozeduralen Welt und gehen davon aus, dass du auch einem unbebauten Acker anfängst von Grund auf.

Da halen sich die vordefinierten Konstanten in engen Grenzen.

Grüße
Biber
Member: keksdieb
keksdieb Apr 12, 2011 at 12:41:07 (UTC)
Goto Top
okay,

jetzt bin ich dabei...

@bibor: ich wollte nur in den alten Scripten nachvollziehen, was ich damals getan habe face-smile (man lernt ja nie aus)

@bastla: ich habe deine ersten Post komplett falsch verstanden. Ich bin davon ausgegangen, dass unter "C:\Programme\Gemeinsame Dateien\System\ado\adovbs.inc" was installiert wurde und dass du das expliziet bemängelt hast.

Grüße Keksdieb