Entwickler-Ecke

Datenbanken - ADO ConnectionString zum Internetprovider?


Eritacus - Sa 23.10.10 18:35
Titel: ADO ConnectionString zum Internetprovider?
Hallo zusammen,

seit Wochen schlage ich mich mit einem scheinbar einfachen Problem rum, bisher erfolglos. Auch die Delphi-Foren und Googlen haben nicht geholfen.

Seit Jahren läuft bei mir eine Datenbank, die nun in's Internet soll.

DB: Access (OHNE Kennwort)
Steuerung: ADODataset und ADOCommand im Formular

Im Intranet läuft alles bestens, auch wenn ich die DB auf einem NAS habe und dort anspreche.

Der entsprechende ConnectionString:

Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\Rechnername\Users\Public\Datenbank\myDB.mdb

Aber ich kriege den ConnectionString zum Internet-Provider nicht hin.
Hier im Forum habe ich als allgemeines Beispiel gefunden:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\serverName\shareName\folder\myDatabase.mdb;User Id=admin;Password=;

Ich bin bei T-Online und habe dort eine Internetadresse, einen FTP-Servernamen, einen Benutzernamen und ein Paßwort (die DB hat KEINS).
Wenn ich das nehme, geht entweder garnichts oder er sagt mir, daß die Arbeitsgruppendatei fehlt. Ich weiß, was das ist
und wie es funktioniert, aber hier brauche ich die doch eigentlich nicht.

Wie muß der verfl.... ConnectionString aussehen, hat jemad eine Idee?


bummi - Sa 23.10.10 21:44

Ich kenne einen Zugriff auf z.B. Sqlserver übers Web, aber einen direkten Filezugriff.... Dein Provider wird die entsprechenden Ports hoffentlich dicht gemacht haben, selbst wenn diese offen wären Du bist ja in keiner Form am Server angemeldet....


Eritacus - So 24.10.10 20:33

Danke für die Antwort, auch wenn sie für mich schlecht ist.
Heißt denn das nun, daß es keine Möglichkeit gibt, eine
Datenbank (Access) bei einem I-Provider zu hinterlegen
und über eine ADO Connection anzusprechen?
Und wenn das so ist, was kann ich dann machen? Mir genügen
ein, zwei Stichworte als Denkanstoß. Danke schonmal.


bummi - So 24.10.10 20:41

-Einen Dienst aufsetzte der Anfragen entgegen nimmt und Beispielsweise Clientdatasets zuzückschickt.
-SOAP
-Eine andere Datenbank verwenden MSSQL, MYSLQ, Firebird... etc
-Eine ISAPI Webanwendung schreiben

und und und..


Petros - So 24.10.10 22:51

Hi!
Das hier könnte dir evtl. helfen es hat mir gut geholfen um ein Login system über TMS Internet Security... zu bekommen diese anleitung zeigt dir wie du eine Access Provider anlegst

http://www.acpweb.de/downloads/category/1-cao?download=1%3Aacpodbc (für mysql)

und

http://support.microsoft.com/kb/300261/de

oder

http://www.access-im-unternehmen.de/index1.php?id=300&BeitragID=233

bei googel habe ich viele sachen darüber gefunden

Siehe: http://www.google.de/search?hl=de&client=firefox-a&hs=lzS&rls=org.mozilla:de:official&&sa=X&ei=Bp3ETNbqDMXoOeCyhZIC&ved=0CBcQvwUoAQ&q=ado+provider+anlegen&spell=1

du musst dann nur dein ADOCon.. deine Povider daten vom server angeben und das ganze dann mit einander verknüpfen um die DB daten auszulesen bzw. abzufragen

was hast du für ein Server OS..

PS. du kannst deine mdb datei auch in mysql umwandeln dazu kannst du Mysql-Front benutzen..

MFG Petros


bummi - So 24.10.10 23:46

@Petros

mit dem Anlegen der Connectionstrings hat er IMHO keine Probleme, er wird einfach keinen Filezugriff auf einen Webserver bekommen.

Da fällt mir war ein, vielleicht per VPN.


Petros - So 24.10.10 23:56

ahh ok habs etwas missverstanden sry...


Eritacus - Di 26.10.10 09:01

Hallo,
erstmal vielen Dank, daß Ihr Euch so viel Mühe macht...
Es stimmt: Ich bekomme keinen Filezugriff beim Internet-Provider, bzw. genau dafür habe ich einen ADO Connection-String gesucht.

VPN habe ich probiert und das hat auch gut funktioniert, aber der Zugriff "von aussen" geht ja dann nur auf den Rechner, auf dem die andere Seite des VPN-Tunnels läuft. Den müßte ich dann als Server einsetzen. Kann man denn VPN auf einem Internet-Provider-Server installieren? Wohl eher nicht.

Ich denke, ich muß auf MySQL o.ä. umsteigen. Hab' ich schon mal installiert (XAMPP), nun geht aber meine
BDE nicht mehr, macht aber nix...

Jeder Denkanstoß hilft mir! Ich weiß nicht viel, aber ich kann alles Lernen!

Grüße


bummi - Di 26.10.10 10:10

Wenn Du einen Rootserver hast sollte das gehen, ist aber IMHO nicht sinnvoll.

Richtig Spass macht eine MS-SQLServer mit ADO, letztlich ist es aber "wurscht" welche RDBM Du einsetzt.


Eritacus - Di 26.10.10 19:02

OK, also neuer Fahrplan:

PC (Anwendung) <------ Zugriff über ADOConnectionstring o.ä. -------> Internet-Provider (MS SQL-Datenbank)

Hab' mich schon mal ein bißchen belesen - zu MS SQL gibt's ja wirklich eine Menge...Und SQL ist mir vertraut.

Geht diese Idee klar, oder ist da noch ein versteckter Denkfehler?


bummi - Di 26.10.10 22:08

Wenn Du den Server konfigurieren kannst und die Ports aufmachen kannst, geht das klar.


Tankard - Mi 27.10.10 03:33

ja und ne datenbankserver ueber das internet aufmachen da bekomme ich wirklich das kotzen. sicherheit sieht anders aus.


bummi - Mi 27.10.10 08:57

@Tankard
Da geb ich Dir Recht ... das nächste Loch in einem der Server wird schon gefunden werden....
Aber hier ging es IMHO um die Machbarkeit, ich bezweifle daß Eritacus auf eine 3-Tier Lösung umsteigen will.


Critter - Mi 27.10.10 16:21

Hallo,

ich habe das meistens so gemacht, dass ich indirekt per PHP-Script auf die Datenbank zugegriffen habe. Also mein Programm hat ein von mir geschriebenes PHP-Script aufgerufen, welches die Datenbankanfrage gemacht hat, und das Ergebnis zurückliefert.

Das hat meiner Meinung nach einige Vorteile:


//Edit: Oh ich sehe gerade, dass es um eine Access Datenbank auf dem Webspace geht, ich fürchte das wird nicht klappen. Denn du brauchst ja ein Datenbankmanagement System also die eigentliche Datenbank (also die Logik, das Programm, nicht die Nutzdaten) auf dem Server und das dürfte schwer zu finden sein. Wenn du sie nur auf dem Client hättest, dann müsste dieser die ja erst komplett herunterladen bevor er sie öffnet und Interpretieren kann, nachdem Änderungen gemacht wurden müssten diese wieder hochgeladen werden und was wäre dann, wenn in der Zwischenzeit ein anderer Client bereits seine Änderungen hochgeschickt hat?
Also, du brauchst eine Datenbank die auch auf dem Server läuft, bei den allermeisten Angeboten hast du eine MySql Datenbank dabei, die solltest du nutzen, wenn du es wie ober vorgeschlagen per Script machst, sollte es, zumindest was die Konfiguration des Servers angeht, auch nicht zu kompliziert werden. Und je nachdem welche Funktionen du im Script hinterlegst könnten sich diese ja auch zum Konvertieren deiner Access Tabellen in MySQL-Tabellen nutzen lassen ;).

critter