ADODB-Connection
Holger
- datenbank
Guten Morgen,
habe so früh am morgen schon ein ernstes Problem: ;-) kann mir jemand erklären, wie in dieser global.asa die Authentifizierung abläuft?
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Application_OnEnd
END SUB
</SCRIPT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
' DB-Account
Application("DB") = "dev" ' ODBC-Connection auf dem Server
Application("User") = "discon_dev" ' MSSQL-Server User
Application("Pwd") = "4discon_dev" ' Password
Application("UserLoggedOn") = 0
End Sub
</SCRIPT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Session_OnStart
session("user") = request.servervariables("AUTH_USER")
Session.Timeout=300
END SUB
</SCRIPT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Session_OnEnd
END SUB
</SCRIPT>
Wenn ich eine ADODB-Conenction aufbauen möchte, kommt der typische Fehler:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Kann das daran liegen, dass ich auf dem neuen Server zuerst die AUTH_USER einstellen muss?
Vielen dank,
Holger
Moin, ernstes Problem :-)
AUTH_USER für Websites und Authentifizierung bei einem Datenbankserver sind zwei völlig unterschiedliche Paar Schuhe.
Du machst dich mit dem falschen Fehler verrückt, obwohl dir der richtige angezeigt wird:
Wenn ich eine ADODB-Conenction aufbauen möchte, kommt der typische Fehler:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
im ODBC-Datenquellen-Manager von deinem Webserver (Systemsteuerung -> Verwaltung -> ODBC-Datenquellen) gibt es keinen Eintrag "dev"
was ist bei dir die ODBC-connection? wie es aussieht ist es die ODBC-Verbindungsbeschreibung, die du dann mit .open als Argument verwendest. diese sollte auf dem Webserver vorhanden sein, auf dem DB-Server nutzt sie nichts, es sei denn MSSQL und Webserver sind eine physikalische Einheit
Also leg solch ein DSN (data source name) auf deinem webserver an ... oder noch besser: warum erst ODBC dazwischenschalten. Mach die Verbindungseinstellungen mit dem SQL OleDB Treiber:
set cn = createObject("ADODB.Connection")
cn_string = "Provider=sqloledb;Data Source=ServerName;Initial Catalog=DatabaseName;"
cn.open cn_string,userName,userPassword
.....
warum legst du die Verbindung nicht auch gleich im Application Scope an?
dann wird nicht mit jedem User * jeder ASP seite die Connection aufgebaut und wieder abgebaut
Hoffe, das löst deine Probleme
Tschau, tschüß,
Frank