Autor |
Nachricht |
FMD
Threadersteller
Dabei seit: 13.12.2007
Ort: dresden
Alter: -
Geschlecht:
|
Verfasst Mi 03.09.2008 21:32
Titel wie Funktioniert das mit ADOdb |
|
|
Hallo,
Also ich habe folgendes Problem: Ich will einige Wissenschaftler vorstellen im Internet, das ganze muss Dynamisch sein da ich die Daten täglich aktualisieren möchte. Mit meinen (in einer Woche antrenierten) Wissen über PHP und SQL würde ich es glaub ich ohne Probleme schaffen, nur dummerweise ist die Datenbank auf die ich zugreifen möchte in Access.
Mir wurde glücklicherweise hier schon mal gesagt das ich auf die ADOdb weise die Daten umwandeln kann. Herzlichen Dank noch mal für den Tipp. Das passende Tutorial habe ich auch gefunden http://phplens.com/phpeverywhere/adodb_german nur kapiere ich alles noch nicht wirklich richtig.
Daher meine Fragen:
Muss der access Datei auf einen besonderen Server liegen?
Wie binde ich die Datei zum testen in meinen Locelhost XAMP ein? Geht das überhaupt?
Hat jemand ein Beispielscript und datei oder so wo ich mir das mal anschauen kann? Im Tutorial ist das so undeutlich?
Danke schonmal im Vorraus?
|
|
|
|
|
therapiekind
Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
|
Verfasst Sa 06.09.2008 18:16
Titel
|
|
|
Als Beispieldatenbank dient die Northwind-Datenbank von Micro$oft. (Die EXE ist ein einfaches ZIP-Archiv; kannst du entpacken, wenn du es nicht unbedingt installieren willst.)
Code: | <?php
error_reporting(E_ALL);
include("adodb5/adodb.inc.php"); // includes the adodb library
$db =& ADONewConnection('access');
$dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=Northwind.mdb;Uid=;Pwd=;";
$db->Connect($dsn);
$rs = &$db->Execute('SELECT * FROM Customers');
if (!$rs)
{
print $db->ErrorMsg(); // Displays the error message if no results could be returned
}
else
{
while (!$rs->EOF)
{
print $rs->fields[0].' '.$rs->fields[1] . "\r\n";
$rs->MoveNext();
}
}
?> |
Funktioniert aber nur, wenn deine Server-Kiste ODBC-Treiber installiert hat. Was unter UNIX & Co., insbesondere in Shared-Hosting-Umgebungen, oft nicht der Fall ist. Auf 'nem Windows-PC funktioniert's aber problemlos.
|
|
|
|
|
Anzeige
|
|
|
FMD
Threadersteller
Dabei seit: 13.12.2007
Ort: dresden
Alter: -
Geschlecht:
|
Verfasst Sa 13.09.2008 18:04
Titel
|
|
|
Totzdem zeigt er mir das an:
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Microsoft Access Driver] Kein zulässiger Dateiname., SQL state S1000 in SQLConnect in G:\xampp\htdocs\adodb5\drivers\adodb-odbc.inc.php on line 60
[Microsoft][ODBC Microsoft Access Driver] Kein zulässiger Dateiname.
Wo muss die .mdb datei denn eigentlich liegen. auch dort wo ich meine test.php seite habe?
Zuletzt bearbeitet von FMD am Sa 13.09.2008 18:13, insgesamt 1-mal bearbeitet
|
|
|
|
|
therapiekind
Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
|
Verfasst Sa 13.09.2008 19:50
Titel
|
|
|
FMD hat geschrieben: | Wo muss die .mdb datei denn eigentlich liegen. auch dort wo ich meine test.php seite habe? |
Der Pfad kann relativ vom Skript angegeben werden, dass die Verbindung öffnet, oder auch absolut. In meinem Beispiel liegt die Datenbank im gleichen Verzeichnis wie das Skript, aber das ist kein Muss.
Zeig doch mal deine Verbindungsdaten.
|
|
|
|
|
FMD
Threadersteller
Dabei seit: 13.12.2007
Ort: dresden
Alter: -
Geschlecht:
|
Verfasst So 14.09.2008 13:43
Titel
|
|
|
Also letztendlich steht da das gleiche da, wie du es mir geschickt hattest, die Datei befindet sich auch in dem gleiche, Verzeichnis... Trotzdem diese Meldung... Komisch
<?php
error_reporting(E_ALL);
include("adodb5/adodb.inc.php"); // includes the adodb library
$db =& ADONewConnection('access');
$dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=Northwind.mdb;Uid=;Pwd=;";
$db->Connect($dsn);
$rs = &$db->Execute('SELECT * FROM Customers');
if (!$rs)
{
print $db->ErrorMsg(); // Displays the error message if no results could be returned
}
else
{
while (!$rs->EOF)
{
print $rs->fields[0].' '.$rs->fields[1] . "\r\n";
$rs->MoveNext();
}
}
?>
|
|
|
|
|
therapiekind
Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
|
Verfasst So 14.09.2008 20:18
Titel
|
|
|
Probier's mal so:
Code: | $dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=".realpath('Northwind.mdb').";Uid=;Pwd=;"; |
Hatte mein Beispiel nur auf der Kommandozeile ausprobiert. Da hatte es funktioniert. Nehme an, wenn man das ganze auf einem Webserver laufen lässt, hat der andere Anforderungen an die Pfade.
Zuletzt bearbeitet von therapiekind am So 14.09.2008 23:18, insgesamt 1-mal bearbeitet
|
|
|
|
|
FMD
Threadersteller
Dabei seit: 13.12.2007
Ort: dresden
Alter: -
Geschlecht:
|
Verfasst Do 18.09.2008 17:51
Titel
|
|
|
Es klappt!
Vielen Dank. Wegen solcher guten Hilfe, wie die von dir wurde das Internet erst zu dem was es jetzt ist!
|
|
|
|
|
|
|
|
Ähnliche Themen |
wie funktioniert so ein muster?
Wie funktioniert SEO (Grundsätze)
Wie funktioniert Lightroom?
get URL () funktioniert nicht
Codepen - wie funktioniert's?
Shopsystem - Wie funktioniert es
|
|