gelöst Mit PHP auf einen MSSQL Server verbinden
helmuthelmut2000 (Level 2) - Jetzt verbinden
11.07.2006, aktualisiert 14.07.2006, 7926 Aufrufe, 6 Kommentare
Hallo,
Ich habe ein Problem was für euch Profis bestimmt nicht besonderes ist.
Also ich habe einen Server2003 mit IIS6.0 am laufen mit MSSQL2000.
Da habe ich viele Sachen im Intranet am Laufen.
Auf meinem Laptop habe ich den Apache2 und PHP5 und Mysql5 am laufen.
Meine neuen Sachen mache ich jetzt alles über PHP.
Jetzt sollte ich auch auf meine MSSQL-DB mit PHP zugreifen können.
Aber ich bekomme das einfach nicht hin.
Ich habe da in Google schon geschaut aber nichts wirklich nützliches
gefunden.
Soll ich da jetzt einen ODBC Vebindung machen(wie geht das?) oder
kann man da eine andere Verbindung auch machen?
Was muß ich denn da jetzt in meiner PHP.ini alles ändern oder eintragen
und was muß ich da denn noch alles für Einstellungen machen?
Für eure Hilfe wäre ich euch sehr Dankbar.
Gruß
Helmut
Ich habe ein Problem was für euch Profis bestimmt nicht besonderes ist.
Also ich habe einen Server2003 mit IIS6.0 am laufen mit MSSQL2000.
Da habe ich viele Sachen im Intranet am Laufen.
Auf meinem Laptop habe ich den Apache2 und PHP5 und Mysql5 am laufen.
Meine neuen Sachen mache ich jetzt alles über PHP.
Jetzt sollte ich auch auf meine MSSQL-DB mit PHP zugreifen können.
Aber ich bekomme das einfach nicht hin.
Ich habe da in Google schon geschaut aber nichts wirklich nützliches
gefunden.
Soll ich da jetzt einen ODBC Vebindung machen(wie geht das?) oder
kann man da eine andere Verbindung auch machen?
Was muß ich denn da jetzt in meiner PHP.ini alles ändern oder eintragen
und was muß ich da denn noch alles für Einstellungen machen?
Für eure Hilfe wäre ich euch sehr Dankbar.
Gruß
Helmut
6 Antworten
- LÖSUNG Xaero1982 schreibt am 12.07.2006 um 10:54:56 Uhr
- LÖSUNG Guenni schreibt am 12.07.2006 um 20:11:44 Uhr
- LÖSUNG Xaero1982 schreibt am 13.07.2006 um 08:34:47 Uhr
- LÖSUNG helmuthelmut2000 schreibt am 13.07.2006 um 19:49:39 Uhr
- LÖSUNG Xaero1982 schreibt am 13.07.2006 um 21:33:56 Uhr
- LÖSUNG helmuthelmut2000 schreibt am 14.07.2006 um 17:59:17 Uhr
- LÖSUNG Xaero1982 schreibt am 13.07.2006 um 21:33:56 Uhr
- LÖSUNG helmuthelmut2000 schreibt am 13.07.2006 um 19:49:39 Uhr
- LÖSUNG Xaero1982 schreibt am 13.07.2006 um 08:34:47 Uhr
- LÖSUNG Guenni schreibt am 12.07.2006 um 20:11:44 Uhr
LÖSUNG 12.07.2006 um 10:54 Uhr
Schon komisch, dass ich dazu was bei google finde.
ODBC MSSQL PHP ....
wie dem auch sei. Ich habe es gerade mit einer Access DB erfolgreich geschafft.
Schritt 1: Start -> Systemsteuerung -> Verwaltung -> Datenquellen -> SystemDSN -> Hinzufügen -> SQL Server -> Fertig Stellen -> *Name* eintragen (merken) -> Beschreibung (nicht relevant) -> Server (dein Server mit der SQL DB) -> Weiter -> Authentifizierung festlegen -> (weiter komm ich nicht, weil kein SQL Server am laufen ist).
Sollte nicht so unterschiedlich zu Access sein....
Oder etwa doch?
Aber wo wir schon mal dabei sind und wenn du Ahnung von PHP hast, kannste mir ja mal helfen.
So, ich möchte, dass er mir Seriennummer und Benutzer immer in einer Tabellenreihe ausgibt, aber stattdessen macht er das:
Seriennummer
Name
Eine Tabelle(also ein Kasten)
Seriennummer
Name
Eine Tabelle(also ein Kasten)
.
.
.
usw.
Ich möchte aber:
Tabelle
Spalte1
Reihe1
Seriennummer
Spalte2
Reihe1
Benutzername
.
.
.
usw
ODBC MSSQL PHP ....
wie dem auch sei. Ich habe es gerade mit einer Access DB erfolgreich geschafft.
Schritt 1: Start -> Systemsteuerung -> Verwaltung -> Datenquellen -> SystemDSN -> Hinzufügen -> SQL Server -> Fertig Stellen -> *Name* eintragen (merken) -> Beschreibung (nicht relevant) -> Server (dein Server mit der SQL DB) -> Weiter -> Authentifizierung festlegen -> (weiter komm ich nicht, weil kein SQL Server am laufen ist).
01.
<?php
02.
$conn = odbc_connect('***Name***', '', '', SQL_CUR_USE_ODBC) or die('Error connecting to server. Server says: '.htmlspecialchars(odbc_errormsg()));
03.
//Deine Abfragen was auch immer
04.
05.
odbc_close($conn);
06.
?>
Oder etwa doch?
Aber wo wir schon mal dabei sind und wenn du Ahnung von PHP hast, kannste mir ja mal helfen.
01.
<?php
02.
$conn = odbc_connect('Inventar.mdb', '', '', SQL_CUR_USE_ODBC) or die('Error connecting to server. Server says: '.htmlspecialchars(odbc_errormsg()));
03.
04.
/* run insert */
05.
$stmt = odbc_exec($conn, "SELECT * FROM tbl_Maincomputer" );
06.
07.
08.
while($row = odbc_fetch_array($stmt)){
09.
$i++;
10.
echo('<table border=1><td><tr>'.'Seriennummer: '.$row["Seriennummer"].'
11.
'.'Benutzer: '.$row["MBenutzer"].'
12.
');
13.
echo('
14.
');
15.
}
16.
17.
/* close connection */
18.
odbc_close($conn);
19.
?>
Seriennummer
Name
Eine Tabelle(also ein Kasten)
Seriennummer
Name
Eine Tabelle(also ein Kasten)
.
.
.
usw.
Ich möchte aber:
Tabelle
Spalte1
Reihe1
Seriennummer
Spalte2
Reihe1
Benutzername
.
.
.
usw
LÖSUNG 12.07.2006 um 20:11 Uhr
@Xaero1982
Hi,
in deinem Quellcode legst du innerhalb der while-Schleife bei jedem
Durchgang eine neue Tabelle an:
Die Tabelle darfst du nur einmal vor der while-Schleife anlegen:
Die Funktion implode("Trennzeichen",Variable) erspart dir außerdem eine
Menge Tipparbeit.
Sie fügt für jeden Spalteneintrag ein Trennzeichen ein, im Fall oben sinnigerweise
das <td>, und anschließend den Spaltenwert selber. Ein abschließendes
</td> ist nicht notwendig.
Gruß
Günni
Hi,
in deinem Quellcode legst du innerhalb der while-Schleife bei jedem
Durchgang eine neue Tabelle an:
01.
while($row = odbc_fetch_array($stmt)){
02.
$i++;
03.
echo('<table border=1>.....usw.
01.
echo("<table border=1">;
02.
while($row = odbc_fetch_array($stmt)){
03.
echo "<tr><td>";
04.
echo implode("<td>", $row);
05.
echo "</tr>";
06.
}
07.
echo "</table>";
Menge Tipparbeit.
Sie fügt für jeden Spalteneintrag ein Trennzeichen ein, im Fall oben sinnigerweise
das <td>, und anschließend den Spaltenwert selber. Ein abschließendes
</td> ist nicht notwendig.
Gruß
Günni
LÖSUNG 13.07.2006 um 08:34 Uhr
thx
@ Helmut: Eine Resonanz wäre immer nett, da man nie weiß, ob derjenige überhaupt noch mal reingesehen hat oder nicht.
@ Helmut: Eine Resonanz wäre immer nett, da man nie weiß, ob derjenige überhaupt noch mal reingesehen hat oder nicht.
LÖSUNG 13.07.2006 um 19:49 Uhr
Hallo,
Ja, ich bin schon da. Ich hatte gestern nur keine Zeit mehr zum
testen. Aber jetzt hab ichs vesucht. Also der ODBC Eintrag hat funktioniert,
Der Test mit der Verbindung war erfolgreich, aber jetzt bekomme ich noch
eine Fehlermeldung:
Error connecting to server. Server says: [Microsoft][ODBC SQL Server Driver][SQL Server]Fehler bei der Anmeldung für den Benutzer 'NT-AUTORITÄT\ANONYMOUS-ANMELDUNG'.
Muß ich da och einen Anmeldenamen eingeben.
Gruß
Helmut
Ja, ich bin schon da. Ich hatte gestern nur keine Zeit mehr zum
testen. Aber jetzt hab ichs vesucht. Also der ODBC Eintrag hat funktioniert,
Der Test mit der Verbindung war erfolgreich, aber jetzt bekomme ich noch
eine Fehlermeldung:
Error connecting to server. Server says: [Microsoft][ODBC SQL Server Driver][SQL Server]Fehler bei der Anmeldung für den Benutzer 'NT-AUTORITÄT\ANONYMOUS-ANMELDUNG'.
Muß ich da och einen Anmeldenamen eingeben.
Gruß
Helmut
LÖSUNG 13.07.2006 um 21:33 Uhr
Von dem Problem hab ich gelesen.
Das ist ein Problem mit den Rechten auf dem Server. Wie genau das zu lösen ist hab ich leider keinen Schimmer. Kann es selbst nicht testen, da kein SQL Server.
Google mal nach der Fehlermeldung. Solltest was zu finden.
Wenn du ne Lösung hast bitte auch hier posten.
Danke
Das ist ein Problem mit den Rechten auf dem Server. Wie genau das zu lösen ist hab ich leider keinen Schimmer. Kann es selbst nicht testen, da kein SQL Server.
Google mal nach der Fehlermeldung. Solltest was zu finden.
Wenn du ne Lösung hast bitte auch hier posten.
Danke
LÖSUNG 14.07.2006 um 17:59 Uhr
Hallo,
Jetzt gehts.
Bei dem ODBC Eintrag mach ich mit
SQL Server-Authentifizierung,
Vergebe eienen Benutzername und ein Passwort.
Diesen Benutzername und Passwort schreibe ich dann:
<?php
$conn = odbc_connect('ODBCNAME', 'Benutzername', 'Passwort', SQL_CUR_USE_ODBC) or die('Error connecting to server. Server says: '.htmlspecialchars(odbc_errormsg()));
Dann gehts.
mfG
Helmut
Jetzt gehts.
Bei dem ODBC Eintrag mach ich mit
SQL Server-Authentifizierung,
Vergebe eienen Benutzername und ein Passwort.
Diesen Benutzername und Passwort schreibe ich dann:
<?php
$conn = odbc_connect('ODBCNAME', 'Benutzername', 'Passwort', SQL_CUR_USE_ODBC) or die('Error connecting to server. Server says: '.htmlspecialchars(odbc_errormsg()));
Dann gehts.
mfG
Helmut
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte