Autor Beitrag
Eritacus
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Sa 23.10.10 18:35 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: 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

www.acpweb.de/downlo...download=1%3Aacpodbc (für mysql)

und

support.microsoft.com/kb/300261/de

oder

www.access-im-untern...00&BeitragID=233

bei googel habe ich viele sachen darüber gefunden

Siehe: www.google.de/search...+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

Für diesen Beitrag haben gedankt: Eritacus
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: So 24.10.10 23:56 
ahh ok habs etwas missverstanden sry...
Eritacus Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Di 26.10.10 22:08 
Wenn Du den Server konfigurieren kannst und die Ports aufmachen kannst, geht das klar.

Für diesen Beitrag haben gedankt: Eritacus
Tankard
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Administrator
Beiträge: 217
Erhaltene Danke: 96



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 328
Erhaltene Danke: 3

Windows 7
Delphi 7 Pro.
BeitragVerfasst: 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:
  • Du muss keinen Datenbankzugriff von außen auf die Datenbank erlauben, das PHP-Script läuft ja "lokal" auf dem Server und öffnest somit keine Potentiellen Sicherheitslöcher die Außerhalb deines Scriptes liegen.
  • Du kannst die Möglichkeiten deines Scriptes nach deinem Gusto gestalten. Willst du z.B. immer nur Daten zwischen Start und Enddatum aus einer Tabelle abrufen, so übergibst du nur diese beiden Parameter, somit kann keiner deinem Script ein unerlaubtes Query unterschieben. Willst du hingegen beliebige Querys ausführen können, so nimmst du diese als Parameter entgegen und gehst entsprechend bewusst das damit zusammenhängende Sicherheitsrisiko ein, du kannst natürlich auch den Parameter so analysieren, dass z.B. nur lesende Querys möglich sind (wobei ich das eher [zusätzlich] über die Nutzerrechte regeln würde).
  • Du kannst die Kommunikation und deren Sicherheit selbst beeinflussen, indem du z.B. das Script nur per HTTPS aufrufbar machst und/oder den Datenverkehr selbst geeignet verschlüsselst.
  • Das ganze läuft auch auf günstigen (normal user) Web-Angeboten, solange du PHP und MySQL hast kriegst du es zum laufen. Du musst also keinen Server haben und auch keine besonderen Einflussmöglichkeiten auf dessen verhalten. Eine 5€/Monat Webpräsenz reicht.


//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

_________________
Diejenigen, die grundlegende Freiheiten aufgeben, um ein wenig mehr vorrübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit.
(Benjamin Franklin;"The Papers of Benjamin Franklin", Vol. 6, Apr. 1, 1755, through Sep. 30, 1756)