php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 18-10-2004, 13:51
oezcanp
 Newbie
Links : Onlinestatus : oezcanp ist offline
Registriert seit: Oct 2004
Beiträge: 4
oezcanp ist zur Zeit noch ein unbeschriebenes Blatt
Question ODBC-Zugriff auf Access-Datenbank mit PHP

Betriebsysteme Windows 2000 Prof. MS Acess 2000. Webserver Apache 2.0


mittels PHP möchte ich über ODBC auf eine Access-DB (test.mdb)
zugreifen (über einen System-DSN-Eintrag). Die Access-DB liegt auf
einem anderen Recher <\\db-server\ordner\test.mdb>. Die
System-DSN-Eintrag habe ich über "ODBC Administrator" unter
Systemsteuerung gemacht <test_db>.

die schritte:
**************
1. Ich verbinde erstmal den freigegebene Verzeichnis
<\\db-server\ordner\> als Netzwerklaufwerk <M:> .

2. Dann habe ich den System-DSN-Eintrag über "ODBC Administrator"
gemacht <test_db>.


wenn ich mein php-skript ausführe bekomme ich folgende fehlermeldung.


Warning: odbc_connect(): SQL error: [Microsoft][ODBC Microsoft Access
Driver] Das Microsoft Jet-Datenbankmodul kann die Datei '(unbekannt)'
nicht öffnen. Sie ist bereits von einem anderen Benutzer exklusiv
geöffnet, oder Sie benötigen eine Berechtigung, um die Daten lesen zu
können., SQL state S1000 in SQLConnect in C:\Programme\Apache
Group\Apache2\htdocs\ubg\select.php on line 12
Fehler beim Datenbankaufruf


<?php

$dsn = "test_db";
$tabelle = "user";
$uid = "";
$pwd = "";

$conn = odbc_connect($dsn,$uid,$pwd)
or die ("Fehler beim Datenbankaufrufvvv");

$result = odbc_exec($conn, "SELECT * FROM $tabelle");
$i=1;

while (odbc_fetch_row($result, $i)){
echo $i. ". ". odbc_result($result, "kennung")."<br>";
$i++;
}

?>



wenn meine datenbank lokal auf dem webserver liegt klappt alles
wunderbar.



ich habe folgende sachen im internet gefunden und ausprobiert:

* Für den Zugriff werden keine Laufwerksbuchstaben unterstützt. In der
ODBC-Konfiguration kann man aber nur Laufwerksbuchstaben auswählen.
Also
geht man in die Registry mit regedt32 auf den Schlüssel
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC_INI dort findet sich im
entsprechenden
Link das Feld DBQ. Hier ändert man den Pfad von z. B.
"M:\test.mdb" auf "\\db-server\ordner\test.mdb".

* Als nächstes muß man noch den Dienst (bei mir Apache) der auf die
ODBC-Resource zugreift so konfigurieren, dass er mit einem
Netzwerkgültigen
Benutzernamen auf die Datenbank zugreift (per Default ist hier ein
lokaler
Systemnutzer hinterlegt).
-> so hier habe ich zwar sachen ausprobiert aber ich bin mir
nicht ganz sicher ob ich das richtig gemacht habe. ich habe unter
"Dienste -> Apache2 -> Eigenschaften" und Register "Anmelden" gewählt.
Hier habe ich dann unter "Anmelden als: " und "Diese Konto: " einen
Benutzer gewählt der die Administrationsrechte besitzt eingestellt.


das hat alles aber leider nichts gebracht.



ich wäre super dankbar für ihre vorschläge.




Mit Zitat antworten
  #2 (permalink)  
Alt 18-10-2004, 15:45
Wendel
 Junior Member
Links : Onlinestatus : Wendel ist offline
Registriert seit: May 2004
Beiträge: 117
Wendel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Frage: liegen Apache und Access Datenbank auf einem Rechner?
wenn nicht, bringt es nichts, sich mit Benutzernamen mit root rechten auf Deinem Rechner am anderen
anzumelden, weil da hat er evtl. null rechte!Oder hab ich Dich falsch verstanden?
Wenn, dann musst Du Dich als User mit Rechten auf dem DB-Server
bzw. der Datenbank anmelden.
Also schau nach einem User mit Adminrechten auf dem Rechner, auf dem die DB liegt und trag den ein.
Wenn Du das schon gemacht hast und ich Dich falsch verstanden habe, dann sorry!
Gruss Wendel
Mit Zitat antworten
  #3 (permalink)  
Alt 18-10-2004, 23:34
oezcanp
 Newbie
Links : Onlinestatus : oezcanp ist offline
Registriert seit: Oct 2004
Beiträge: 4
oezcanp ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Wendel
Frage: liegen Apache und Access Datenbank auf einem Rechner?

wenn nicht, bringt es nichts, sich mit Benutzernamen mit root rechten auf Deinem Rechner am anderen
anzumelden, weil da hat er evtl. null rechte!Oder hab ich Dich falsch verstanden?
Wenn, dann musst Du Dich als User mit Rechten auf dem DB-Server
bzw. der Datenbank anmelden.
Also schau nach einem User mit Adminrechten auf dem Rechner, auf dem die DB liegt und trag den ein.

Wenn Du das schon gemacht hast und ich Dich falsch verstanden habe, dann sorry!
Gruss Wendel


Frage: liegen Apache und Access Datenbank auf einem Rechner?

nein. sie liegen auf getrennten rechnern.


Wenn, dann musst Du Dich als User mit Rechten auf dem DB-Server bzw. der Datenbank anmelden.
Also schau nach einem User mit Adminrechten auf dem Rechner, auf dem die DB liegt und trag den ein.


wie muss ich diesen eintrag denn machen? etwa so? :

$dsn = "test_db";
$tabelle = "user";
$uid = "admin"; //Adminuser auf dem DB-Server
$pwd = "pass"; //passwort

$conn = odbc_connect($dsn,$uid,$pwd)


ich glaube das habe ich ausprobiert aber das funktioniert leider nicht

Mit Zitat antworten
  #4 (permalink)  
Alt 19-10-2004, 10:47
Wendel
 Junior Member
Links : Onlinestatus : Wendel ist offline
Registriert seit: May 2004
Beiträge: 117
Wendel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

MOIN oezcanp,
Das sieht Korrekt aus Deine Anmeldung.
Aber sorry, die Fehlermeldung bezieht sich ja auf das öffnen der Datei und nicht auf den Zugriff
auf den Datenbankserver.Dein Problem wird die rechtevergabe von Acces bzw. XP sein.
Du musst die Zugriffsrechte(Eigenschaften) für den Ordner anpassen bzw. das Handling von Access.(scheinbar gibts da
extra regelungen für Userzugriffe von außen. Es reicht nicht root zu sein!)-unter tools weitere Optionen - usw.
Da kann man Dateien sperren oder exclusiv öffnen. Das ist aber kein PHP- problem!
Frage mal unter Windows - Access oder XP.
Ansonsten google "SQL S1000" Fehlercode.
Ich hab dies gefunden,was Dir weiter helfen sollte.
Fände es klasse, wenn Du auch die Lösung des Problems noch mal posten würdest. Kannst auch gerne nochmal nachfragen.
Gruß Wendel
P.S. evtl. melde ich mich nochmal bei Dir, weil wir haben hier das gleiche vor(Access Datenbank an Webanwendung anbinden)
und keiner von uns hat das je gemacht! (MySql, MS-SQL,Oracel ja access nein)
Mit Zitat antworten
  #5 (permalink)  
Alt 19-10-2004, 14:17
oezcanp
 Newbie
Links : Onlinestatus : oezcanp ist offline
Registriert seit: Oct 2004
Beiträge: 4
oezcanp ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Der Lösungsvorschlag:


Die Freigabe des Verzeichnisses bzw. des Access-files oder unter Eigenschaften -> Sicherheit den IUSR_Computername als Benutzer hinzuzufügen funktioniert nicht, weil Windows die Meldung

"Ein Objekt namens IUSR_WEBPC wurde nicht gefunden. Überprüfen Sie die gewählten Objekttypen und den Pfad, und vergewissern Sie sich, dass Sie den Objektnamen richtig eingegeben haben, oder entfernen Sie dieses Objekt aus der Liste"

ausgibt.

ich habe zwar die möglichkeit unter access über
Extras -> Sicherheit und Benutzer-/ und Gruppenberechtigung den usern rechte zu vergeben, aber dies hilft irgendwie auch nicht weiter.

ich weiß auch nicht mehr weiter

Mit Zitat antworten
  #6 (permalink)  
Alt 19-10-2004, 15:06
oezcanp
 Newbie
Links : Onlinestatus : oezcanp ist offline
Registriert seit: Oct 2004
Beiträge: 4
oezcanp ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich habs.


es war alles richtig was ich bis jetzt gemacht habe. (siehe oben)


ich habe einfach apache-dienst unter einen anderen user gestartet, der auch netzwerkrechte besitzt. bis jetzt lief es unter "system".

unter dienste

apache -> eigenschaften -> anmelden
-> "dieses Konto" durchsuchen
-> einen lokalen user wählen der netzwerkrechte hat
bsp: "Administrator" (nur testzwecken)
-> sie müssen den dienst dann neustarten.


dann müsste es klappen.


man bin ich froh dass es klappt.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
Adsman Pro - Werbe-Manager V.1.1.0

Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebigem Format, Textanzeigen und Page-Peels mit umfangreichen Text und Flash-Effekte.

30.07.2019 rhs | Kategorie: PHP/ Bannerverwaltung
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

30.07.2019 Berni | Kategorie: MYSQL/ Management
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:22 Uhr.