Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

ODBC MS REMOTE Verbindung mit Access DB

Mitglied: iceget
Hallo,

und zwar habe ich folgendes Problem:
Ein Kollege von mir programmierte eine Online Reservierung mittels ASPx (C#).

Die Webapplikation greift auf die lokale Access Datenbank zu, um Daten zu öffnen / schließen / schreiben.
Also die Applikation + Datenbank liegen direkt auf dieser Maschine lokal.

Jetzt möchte ich aber die Applikation auf einen richtigen Server legen,
und leider ist es mir nicht möglich die Datenbank auf den Server auch zu verlegen,
da dies die Datenbank von einer am lokal laufenden Software ist, wo man sich DVD's direkt vorm Automaten
ausleihen kann, und diese Software unterstützt rein nur localhost.

Deswegen muss ich von der Ferne auf diese Datenbank mittels dieser Applikation zugreifen können.
Aber leider funktioniert das nicht, lokal muss ich ein System DSN (ODBC) angeben, das nach C:/database.mdb zeigt.

Hier die web.config (mein missglückter Versuch):
...
<add name="ConnectionString" connectionString="Provider=MS Remote;RemoteServer=http://www.url-wo-die-datenbank-liegt.com;Remote Provider=Microsoft.Jet.OLEDB.4.0;DSN=MainDatabase;uid=Admin;pwd=dbpass" />
...

Hier die web.config die funktioniert (Lokal (Applikation+Datenbank)):
...
<add name="ConnectionString" connectionString="Dsn=MainDatabase;uid=Admin;pwd=dbpass" providerName="System.Data.Odbc" />
...

Was mach ich falsch? Der Browser gibt mir immer raus:
ERROR [IM002] [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben

Lokal muss ich ja dann keinen ODBC System DSN angeben, oder? Wenn ja, welchen Typ?
Oder muss ich zuerst ein Netzwerklaufwerk verbinden? Oder doch mit WebDAV?

Aussehen zur Zeit tut es so:
Der Kunde geht auf die Internetreservierung http://www.meine-reservierung.com/.
Die Applikation baut die Verbindung zum lokalen ODBC System DSN C:/database.mdb her,
und der Kunde kann mit der Applikation arbeiten.

Aussehen sollte es dann so:
Der Kunde geht auf die Internetreservierung http://www.meine-reservierung.com/.
Die Applikation baut die Verbindung zum entfernten ODBC System DSN dort auf d:/database.mdb (www.my-db-server.com)
und gibt die Daten zurück.

Grund:
Das System ist jetzt ein Standalone System, läuft nur auf den eigenen Automaten.
Diese Applikationen sollten halt vermietet werden, und deswegen sollte der Quellcode nicht am Automaten direkt sein,
sondern rein nur die Datenbank damit die Applikation vom Server auf die Datenbank am Automaten zugreifen kann

Was muss ich am Automaten direkt beim IIS installieren/einstellen und was am Server?

Hoffe Ihr könnt mir helfen, ich bin am verzweifeln. Mein Kollege der ist nicht hier, und ich selbst schaff das nicht.
Kenne mich nur mit PHP einigermassen gut aus, aber zu 0% mit ASP und SQL Strings...

Vielen Dank!

glg mAx

Content-Key: 68316

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

Ausgedruckt am: 28.11.2021 um 19:11 Uhr

Mitglied: AndreasHoster
AndreasHoster 11.09.2007 um 17:46:26 Uhr
Goto Top
In ASP kenne ich mich nicht aus, das mal vorneweg.

Der Jet ODBC Treiber braucht ein Laufwerksmapping mit Laufwerksbuchstabe (zumindestens habe ich es nie anders hinbekommen). Also direkt irgendwas mit http:// geht nicht. Wenn WebDAV einen LW-Buchstaben stellt, sollte es theoretisch gehen.

Zugriff auf entfernte Datenbanken geht dann wie lokal auch:
<add name="ConnectionString" connectionString="Dsn=RemoteDatabase;uid=Admin;pwd=dbpass" providerName="System.Data.Odbc" />
Nur das in der Definition der RemoteDatabase DSN im ODBC Administrator die entfernte Datenbank auf dem gemappten LW angegeben ist statt der c:\database.mdb.

Und letztlich:
Es gibt keine ineffizientere Variante auf Daten zuzugreifen als auf eine nicht lokale MDB Datei.
Die Daten werden nämlich auf Deinem Rechner verarbeitet, ein Select welches z.B. nur eine Zeile zurückgibt sorgt trotzdem erstmal dafür, daß die gesamte Tabelle gelesen wird. Das über Internet ist kein Spaß. Schon im lokalen Netzwerk kann man mit Access auf Netzlaufwerken das Netzwerk schier zum Zusammenbruch bringen.

Idee:
Auf den lokalen Systemen eine MSDE oder SQL 2005 Express installieren und es über den fahren. Der verarbeitet die SQL Statements nämlich bei sich und überträgt nur noch die gewünschten Daten.
Mitglied: iceget
iceget 11.09.2007 um 20:30:34 Uhr
Goto Top
Hallo und Danke!

Okay, aber die Automatensoftware arbeitet nur mit Access!
Also vielleicht kenne ich mich nicht so aus, aber geht das, das man das ganze umwandelt?
Also die Anfragen die in Access kommen, dann über SQL 2005 Express?

Oder wie kann ich das am besten anstellen?

Kannst Du mir einfach ein kleines Beispiel schildern, wie ich das mache,
damit ich auch begreife wie das in etwa nur funktioniert?

Vielen Dank schon jetzt!!

lg mAx
Mitglied: iceget
iceget 25.02.2013 um 09:26:19 Uhr
Goto Top
Hallo,

danke für deine damalige Antwort!

Ich lese gerade meine alten Threads durch.
Habe aber mittlerweile eine Sync Software in C# gecodet die in Echtzeit (sobald er eine Änderung lokal an der Access merkt) die MySQL Datenbank abgleicht.

So habe ich das nun gelöst :) face-smile

Danke

lg iceget

Zitat von @AndreasHoster:
In ASP kenne ich mich nicht aus, das mal vorneweg.

Der Jet ODBC Treiber braucht ein Laufwerksmapping mit Laufwerksbuchstabe (zumindestens habe ich es nie anders hinbekommen). Also
direkt irgendwas mit http:// geht nicht. Wenn WebDAV einen LW-Buchstaben stellt, sollte es theoretisch gehen.

Zugriff auf entfernte Datenbanken geht dann wie lokal auch:
<add name="ConnectionString" connectionString="Dsn=RemoteDatabase;uid=Admin;pwd=dbpass"
providerName="System.Data.Odbc" />
Nur das in der Definition der RemoteDatabase DSN im ODBC Administrator die entfernte Datenbank auf dem gemappten LW angegeben ist
statt der c:\database.mdb.

Und letztlich:
Es gibt keine ineffizientere Variante auf Daten zuzugreifen als auf eine nicht lokale MDB Datei.
Die Daten werden nämlich auf Deinem Rechner verarbeitet, ein Select welches z.B. nur eine Zeile zurückgibt sorgt
trotzdem erstmal dafür, daß die gesamte Tabelle gelesen wird. Das über Internet ist kein Spaß. Schon im
lokalen Netzwerk kann man mit Access auf Netzlaufwerken das Netzwerk schier zum Zusammenbruch bringen.

Idee:
Auf den lokalen Systemen eine MSDE oder SQL 2005 Express installieren und es über den fahren. Der verarbeitet die SQL
Statements nämlich bei sich und überträgt nur noch die gewünschten Daten.

Heiß diskutierte Beiträge
general
Sicherheit beim Online-BankingWeyershausenVor 1 TagAllgemeinSicherheitsgrundlagen19 Kommentare

Hallo, in unserer Firma verwenden wir SFirm als Online-Banking-Software. In dieser Woche hatten wir einen IT-Berater bei uns, der uns dringend folgendes Vorgehen empfahl: Wir ...

question
Reinigung der Apple Watch gelöst honeybeeVor 1 TagFrageApple6 Kommentare

Hallo, mit welchem Reinigungsmittel kann ich das Armband meiner Apple Watch schonend reinigen? Auf dem Bild seht ihr, dass es in einem guten Zustand ist. ...

question
HP Notebook startet nicht mehr gelöst ben1300Vor 1 TagFrageHardware7 Kommentare

Hallo zusammen, mein HP Notebook Modell 17-ca1300ng startet nicht mehr. Wenn ich den Power Knopf drücke, blinkt die LED neben der Ladebuchse 3x weiß. Jemand ...

question
LAN-LAN mit Dyndns?MatznoVor 1 TagFrageDNS7 Kommentare

Hallo zusammen, ich habe 3 Fritzboxen , 2 davon sind mit festen IP im LAN-LAN eingebunden (Hauptstandort und Zweigstelle). Die Dritte, welche ich jetzt verbinden ...

question
Exchange Online SMTP nach externNaibafVor 1 TagFrageExchange Server19 Kommentare

Hallo Community, ich muss aus einem Online Portal SMTP Nachrichten an Extern verschicken über einen Exchange Online. Kann mir jemand weitterhelfen das ich dafür einrichten ...

question
Medienwandler für Glasfaser gelöst Reamer76Vor 7 StundenFrageHardware9 Kommentare

Guten Tag liebe Admins, ich bräuchte mal Eure Hilfe für die Anschaffung eines Medienwandlers. Wir werden nächsten Monat freigeschaltet, Anbieter ist Wemacom. Ich habe die ...

question
Adminpasswort löschenaleks08Vor 7 StundenFrageWindows 78 Kommentare

Bei einem Kollegen hat jemand den Rechner eingerichtet und dabei ein Adminpasswort vergeben. Das Adminpasswort kennt er aber nicht und der Einrichter ist nicht mehr ...

question
BlueScreen 124 unter Win7.1MinionVor 1 TagFrageWindows 76 Kommentare

Hallo all, ich habe seit geraumer Zeit einen Rechner, der folgenden BS 124 sporadisch rausschmeisst: MB ASRock Z77 P3 und i5 3570k sind die einzigen ...