tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
10897
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DirkHo DirkHo ist offline Mitglied Gold
    Registriert seit
    Jul 2003
    Beiträge
    223
    Hallo,

    ich google schon den ganzen Tag und finde einfach keine Lösung (die funktioniert). Und zwar will ich für ein Logon-Skript eine Verbindung zu einer MSSQL-Datenbank (über ODBC) aufbauen und daraus Datensätze auslesen.

    Entweder die Beispiele/Codes die ich in div. Foren gefunden habe waren falsch, oder ich hab irgendwas falsch gemacht/verstanden.

    Über PHP klappt es wunderbar die Verbindung zur selben Datenbank (ebenfalls über ODBC) herzustellen (an der DB liegt's also nicht).

    Kann mir jemand weiterhelfen? Z.B. habe ich es hiermit probiert (über AdoDB):

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    Dim mConnection
     
    Set mConnection = CreateObject("ADODB.Connection")
    mConnection.Open "Provider=SQLOLEDB.1;Data Source=<IP zum Server>;Initial Catalog=<Datenbankname>","<Benutzername>","<Passwort>"
     
    mConnection.Execute "SELECT * FROM <tabelle>"
     
    Set mConnection = Nothing
     
    msgBox "Erfolgreich"

    Die in <> stehenden Sachen habe ich natürlich ersetzt...

    Danke und Grüße,

    Dirk
     

  2. #2
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    Hi

    wo der Fehler liegt, können wir natürlich nicht nachprüfen.

    Aber wie ein korrektes Connetion-Muster aussehen muss, kannst Du hier nachlesen
    http://www.carlprothman.net/Default....erForSQLServer
     
    liebe Grüße, die Luzie

  3. #3
    DirkHo DirkHo ist offline Mitglied Gold
    Registriert seit
    Jul 2003
    Beiträge
    223
    Hi Luzie,

    danke für den Tipp!

    Habe mir die Seite angeschaut, folgendes Beispiel verwendet
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    Dim mConnection
     
    Set mConnection = CreateObject("ADODB.Connection")
     
    mConnection.Open "DSN=server;" & _ 
               "Uid=a_server;" & _ 
               "Pwd=server;"
     
    mConnection.Execute "SELECT * FROM server_function"
     
    'Set mConnection = Nothing
     
    msgBox "Erfolgreich"
    aber leider ohne Erfolg - VBS mäkelt an meinem Connection-String rum "[Microsoft][ODBC Driver Manager] Data Source name not found and no default driver specified".

    Hier mal, wie ich per PHP die Verbindung aufbaue:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    // System-DNS-Name
    $host   = 'server';
    // Benutzername
    $user   = 'a_server';
    // Passwort
    $pw     = 'server';
     
    $conn       = odbc_connect($host,$user,$pw) or die('Fehler bei odbc-Verbindung');

    So in der der Art sind auch die realen Zugangsdaten aufgebaut - also DSN = Passwort und Benutzer = a_DSN

    Weiß jemand Rat? Der MsSQL-Server läuft nicht lokal bei mir, sondern im Netzwerk als Standalone-Rechner. Dachte erst, ich müsse eine IP, o.ä. angeben, aber das mache ich bei meiner PHP-Verbindung ja auch nicht bzw. nutze den DSN als Hostname...

    Danke und Grüße,

    Dirk
     

  4. #4
    DirkHo DirkHo ist offline Mitglied Gold
    Registriert seit
    Jul 2003
    Beiträge
    223
    Hallo,

    ganz großes Sorry! Ich habe versucht übers Netzwerk auf die MSSQL zuzugreifen. Jetzt ist mir gekommen, daß sie vielleicht so eingerichtet ist, daß es nur vom Server selbst aus geht.

    Ging!

    Danke und Grüße,

    Dirk
     

  5. #5
    jlehner jlehner ist offline Rookie
    Registriert seit
    Aug 2007
    Beiträge
    6
    Servus Dirk,

    ich bin relativ neu in diesem Forum, von vbs hab ich auch nicht viel Ahnung. Dennoch versuch ich mal dir einen Tipp zu geben.

    in deinem Code:

    Dim mConnection

    Set mConnection = CreateObject("ADODB.Connection")
    mConnection.Open "Provider=SQLOLEDB.1;Data Source=<IP zum Server>;Initial Catalog=<Datenbankname>","<Benutzername>","<Passwort>"

    mConnection.Execute "SELECT * FROM <tabelle>"

    Set mConnection = Nothing

    msgBox "Erfolgreich"

    als DataSource gibst du die IP-Adresse des Servers an, hier sollte aber der DSN-Name der ODBC-Verbindung stehen.
    Versuch's mal

    JL
     

  6. #6
    DirkHo DirkHo ist offline Mitglied Gold
    Registriert seit
    Jul 2003
    Beiträge
    223
    Hi JL,

    vielen Dank für die Antwort! Ich habe die Lösung bereits gefunden.

    Das Problem war, daß ich remote auf den Server zugreifen wollte, es aber nur vom Server auf dem die DB installiert ist, an sich geht.

    Danke und Grüße,

    Dirk
     

  7. #7
    fly_singapore fly_singapore ist offline Mitglied Bronze
    Registriert seit
    Apr 2004
    Ort
    Köln
    Beiträge
    40
    Auch wenn das jetzt etwas verspätet kommt, habe ich bei der Ausführung des unten aufgeführten Scripts das Problem, dass eine Sicherheitsabfrage mit dem Wortlaut

    This Webside uses a data provider that may be unsafe. If you trust the Webside click OK, otherwise click CANCEL

    Die Datenbank wurde auf einem von unseren Servers installiert, wo drauf auch die Internet Informations Services (Webserver) läuft.

    Kann ich diese Fehlermeldung zentral unterdrücken?

    Gruss aus Düsseldorf
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 28.05.09, 21:57
  2. Zugriff über ODBC-Schnittstelle von Windows auf Lotus Notes-Datenbank
    Von cheeZy im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 12.12.08, 11:20
  3. VBScript, Mit einer Microsoft Access Datenbank verbinden
    Von Taengeli im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 22.01.08, 20:41
  4. Verbinden mit MSSQL Datenbank über Recordset
    Von Jacizzle im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 16.08.05, 17:40
  5. Datenbank über ODBC ansprechen
    Von luchs3 im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 18.05.05, 11:52