Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Webpage-Zugriff auf MS-SQL-Server

Empfohlene Antworten

Veröffentlicht

Hallo,

ich hoffe Ihr könnt mir weiterhelfen.

Ich habe folgende Komponenten auf meinem Server installiert:

- MS Windows Server 2003 EE

- IIS (inkl. PHP-Einbindung)

- DNS

- ADS

- DHCP

- MS SQL 2000

So nun möchte ich von meiner Intranetpage aus auf eine Datenbank auf meinem Server zugreifen. Leider funktioniert dies nicht.

Ich habe in der Konfig "php.ini" die Includes aktiviert. Ich habe auch die Rechte für die Datenbank zugeordnet bzw. vergeben.

Nun möchte ich eine Verbindung zur Datenbank aufbauen, das mit mysql so funktioniert:

$connection = @mssql_connect($DATABASEHOST,$DATABASEUSER,$DATABASEPASSWORD);

mssql_select_db($DATABASENAME, $connection);

Beim Verbinden zur Datenbank erscheinen keine Fehlermeldungen oder ähnliche Hinweise. Es wird lediglich nur nichts angezeigt, sprich weisses Fenster wird angezeigt.

Habt Ihr einen Tipp für mich?

Vielen Dank schon im Vorraus.

Gruß

Flo

$connection = @mssql_connect($DATABASEHOST,$DATABASEUSER,$DATABASEPASSWORD);

Habt Ihr einen Tipp für mich?

ja, zuallererst das @ vor dem mssql_connect wegnehmen, da dieses fehlermeldungen unterdrückt. nicht blindes übernehmen von code ist das gebot der stunde.

s'Amstel

Danke für Deine Antwort.

Danach kommt diese Fehlermeldung:

Fatal error: Call to undefined function mssql_connect() in C:\Inetpub\wwwroot\index.php on line 9.

Wie gesagt, die Extension ist aktiviert in der php.ini.

Zeile 9:

$connection = mssql_connect($DATABASEHOST,$DATABASEUSER,$DATABASEPASSWORD);

stimme schiller zu. es muss die zeile "extension=php_mssql.dll" in der php.ini einkommentiert, dieselbige datei im extensions-verzeichnis von php vorhanden sein, sowie die MSSQL-clientbibliothek korrekt installiert (und konfiguriert) sein.

s'Amstel

Also ich habe die php.ini unter c:\inetpub\php gespeichert und die extension mssql.dll aktiviert. Wenn ich nun die phpinfo(); ausführe, dann erscheint bei PHP Core das extension_dir mit dem Wert c:\php5\. Verstehe ich nicht ganz. In der Registry ist auch nichts zu finden. Hmm komisch. Wisst ihr weiter?

Die Ausgabe der phpinfo() muss eine eigene Section mit dem Namen mssql enthalten. Ist das nicht der Fall dann wurde mssql nicht geladen. Wenn bei dir in der Ausgabe der Pfad zum extension_dir mit c:\php5\ angeben ist dann muss du dann nach der dll Datei suchen die du in der php.ini auskommentiert hast wenn du sie da nicht findest dann musst du sie da rein kopieren.

In der ersten Section findest du einen Eintrag der so "Configuration File (php.ini) Path" lautet. Der Pfad der da angeben ist, ist deinen php.ini die du ändern musst.

Hallo Ihr,

ich habe es endlich geschafft. :marine

Ich möchte mich bei allen bedanken, die mir halfen, dieses Problem zu beseitigen. Besonders bei Schiller256.

Wichtig bei der ganzen Sache ist, dass die Umgebungsvariable "Path" auf das Verzeichnis 'C:\WINDOWS' als erstens angegeben wird. Danach sucht der IIS die Config 'php.ini' in dessen Verzeichnis.

Hier noch ein paar Punkte, die in der php.ini verändert werden müssen:

- mssql.secure_connection = Off

- extension_dir = "c:\inetpub\php\ext" //Installationspfad von php

- extension=php_mbstring.dll

- extension=php_gd2.dll

- extension=php_mssql.dll

Ausserdem sollte die Datei 'ntwdblib.dll' im PHP-Verzeichnis in Verzeichnis 'C:\WINDOWS' und 'C:\WINDOWS\SYSTEM32' kopiert werden.

Im IIS muss PHP eingerichtet werden -> siehe link

http://www.infos24.de/phpe/handbuch/2b_php_installation.htm

Im SQL Server muss noch ein Benutzer eingerichtet werden. Ich habe ein SQL-Benutzer eingerichet und die entsprechenden Rechte vergeben.

Und nun der PHP-Code:

<?php

error_reporting(E_ALL);

$DBH = '192.168.0.1,1433'; // Databasehost

$DBU = 'test'; // Databaseuser

$DBP = 'test'; // Databasepassword

$DBN = 'testdb'; // Databasename

$connection = mssql_connect($DBH,$DBU,$DBP);

mssql_select_db($DBN,$connection);

if(!$connection)

{

echo 'Es wurde ein Fehler bei der Verbindung zur Datenbank festgestellt!';

}

else

{

$query = 'SELECT Hersteller '

. 'FROM hersteller '

. 'ORDER BY hersteller;';

$erg = mssql_query($query,$connection);

while(list($hersteller) = mssql_fetch_row($erg))

{

echo 'Ort: ' . $hersteller . '<br>';

}

}

mssql_close($connection);

?>

Wichtig ist das in roter Schrift.

Falls Ihr Fragen oder Kritik habt, dürft Ihr Euch bei mir melden.

PeAcE :bimei

Flo

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.