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-ID: 164392

Url: https://administrator.de/forum/odbc-verbindung-per-vbs-164392.html

Ausgedruckt am: 04.04.2025 um 01:04 Uhr

keksdieb
keksdieb 12.04.2011 um 09:37:21 Uhr
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
AndyAh
AndyAh 12.04.2011 um 09:44:24 Uhr
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
keksdieb
keksdieb 12.04.2011 um 09:58:45 Uhr
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
AndyAh
AndyAh 12.04.2011 um 10:06:58 Uhr
Goto Top
Hi,

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

Gruß
Andy
keksdieb
keksdieb 12.04.2011 um 10:24:51 Uhr
Goto Top
genauso wie mein Codeschnipsel oben...
bastla
bastla 12.04.2011 um 11:54:27 Uhr
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
keksdieb
keksdieb 12.04.2011 um 14:20:28 Uhr
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
bastla
bastla 12.04.2011 um 14:24:41 Uhr
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]
Biber
Biber 12.04.2011 um 14:27:29 Uhr
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
keksdieb
keksdieb 12.04.2011 um 14:41:07 Uhr
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