Datenbankzugriff via ODBC auf einem fremden Rechner
Mathias
- asp.net
0 Jens Menke0 Stefan Falz0 Tom0 Jens Menke
Hallo !
Ist es möglich mit ASP via ODBC auf eine Datenbank zuzugreifen, die nicht auf dem gleichen Rechner liegt, wie der Webserver ?
Ich habe es mit
strconn = "driver={Microsoft Access Driver};;uid=;pwd=;_
database=\Rechner\ODBCDatenbank"
versucht, aber leider keinen Erfolg gehabt !
Kann mir jemand weiterhelfen - das wäre supernett !
Gruß
Mathias
Ist es möglich mit ASP via ODBC auf eine Datenbank zuzugreifen, die nicht auf dem gleichen Rechner liegt, wie der Webserver ?
Ich habe es mit
Hi
wenn du auf dem Rechner auf dem das ASP-Script läuft ne
SYSTEM-DSN anlegst dann geht auf jedenfall , es ist
allerdings zu beachten das bei Access-Datenbanken nicht
mehrere Web-Server gleichzeit auf eine MDB zugreifen
können , dafür brauchste dann schon nen SQL-Server.
gruss
Jens
Ist es möglich mit ASP via ODBC auf eine Datenbank zuzugreifen, die nicht auf dem gleichen Rechner liegt, wie der Webserver ?
mit den Standardeinstellungen nicht, da ASP ADO mit Systemrechten ausführt und das System nun mal keine Netzwerkrechte hat.
Lösung: System in eine Gruppe einfügen, die Netzwerkrechte hat. (Auf einem Internetserver allerdings aus Sicherheitsgründen nicht zu empfehlen)
wenn du auf dem Rechner auf dem das ASP-Script läuft ne
SYSTEM-DSN anlegst dann geht auf jedenfall , es ist
allerdings zu beachten das bei Access-Datenbanken nicht
mehrere Web-Server gleichzeit auf eine MDB zugreifen
können , dafür brauchste dann schon nen SQL-Server.
Auch mit einer System-DSN geht das nicht (siehe Systemrechte oben).
Aber wenn das korrekt eingerichtet ist, können sicherlich mehrere Webserver, die für Access auch nur eine Verbindung darstellen, gleichzeitig auf die MDB zugreifen. Wenn das nicht ginge, könnte auch immer nur 1 User gleichzeitig per ADO auf eine Access-DB gehen.
Aber ein SQL-Server ist sicherlich ab einer gewissen Zugriffszahl erforderlich und auch ratsam.
Tschau, Stefan
Hallo zusammen
wenn du auf dem Rechner auf dem das ASP-Script läuft ne
SYSTEM-DSN anlegst dann geht auf jedenfall , es ist
allerdings zu beachten das bei Access-Datenbanken nicht
mehrere Web-Server gleichzeit auf eine MDB zugreifen
können , dafür brauchste dann schon nen SQL-Server.Auch mit einer System-DSN geht das nicht (siehe Systemrechte oben).
Aber wenn das korrekt eingerichtet ist, können sicherlich mehrere Webserver, die für Access auch nur eine Verbindung darstellen, gleichzeitig auf die MDB zugreifen. Wenn das nicht ginge, könnte auch immer nur 1 User gleichzeitig per ADO auf eine Access-DB gehen.
Falls man dann doch einmal ein SQL-Server anstelle der Access-DB einsetzt, kann man über eine System-Datasource auf den entfernten SQL-Server zugreifen. Dazu muss jedoch als Netzwerkprotokoll (für den SQL-Server und die Datasource) das TCP/IP-Protkoll anstelle von NamedPipes eingerichtet werden.
Grüsse
Tom
Falls man dann doch einmal ein SQL-Server anstelle der Access-DB einsetzt, kann man über eine System-Datasource auf den entfernten SQL-Server zugreifen. Dazu muss jedoch als Netzwerkprotokoll (für den SQL-Server und die Datasource) das TCP/IP-Protkoll anstelle von NamedPipes eingerichtet werden.
Hallo,
man braucht aber keine System-DSN, um auf den SQLServer zugreifen zu können.
Eine Datei-DSN mit dem folgenden Schema tuts auch:
[ODBC]
DRIVER=SQL Server
TranslationName=Yes
WSID=xxx
APP=Betriebssystem Microsoft(R) Windows NT(TM)
SERVER=xxx
Den Connect instantiiert man dann mit:
--- Zuweisen der Datenbankverbindung
Set conn = Server.CreateObject("ADODB.Connection")
' -- Zuweisen des Pfads der Datei DBConn.dsn
DSNFilePath = "filedsn=" & Server.MapPath ("./") & "\DB_Conn.dsn"
' --- Zuweisen des Pfads der Datenbank verwaltung.mdb
DBPath = "DATABASE=DBName"
' --- Öffnen der Datenbankverbindung
conn.open DSNFilePath & ";" & DBPath & ";UID=Test;PWD=Test"
Tschau, Stefan
Auch mit einer System-DSN geht das nicht (siehe Systemrechte oben).
Aber wenn das korrekt eingerichtet ist, können sicherlich mehrere Webserver, die für Access auch nur eine Verbindung darstellen, gleichzeitig auf die MDB zugreifen. Wenn das nicht ginge, könnte auch immer nur 1 User gleichzeitig per ADO auf eine Access-DB gehen.
Also mit der System-DSN hab ich 0 Probleme.. bin
allerdings auch mit Administrator-Rechten auf den
Servern eingeloggt.. :)
Mehr wie ein Server auf eine Acces DB geht so aber definitiv nicht.. da kommt dann immer ne Meldung von
wegen "Ressource in use" oder so.. während es auf dem
SQL absolut problemlos funzt.
gruss
Jens