Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP 5.2.6, IIS 7.0 i MS SQL 2008 Express Edition, Problem z połączeniem z poziomu PHP
asz
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 1
Dołączył: 22.08.2007

Ostrzeżenie: (0%)
-----


Witam.

Ostatnio postanowiłem przetestować MS SQL Server 2008 Express Edition na platformie Windows Server 2008 Enterprise. W tym celu:
1. Zainstalowałem, skonfigurowałem i sprawdziłem poprawność współdziałania IIS 7.0 z PHP 5.2.6 jako moduł FastCGI.
2. Skopiowałem potrzebne pliki do C:\Windows (plik php.ini) i C:\Windows\system32 (biblioteka ntwdblib.dll). W pliku C:\Windows\php.ini poustawiałem to wszystko, co potrzeba dla działania PHP jako modułu FastCGI. Poza tym dodałem odpowiednie rozszerzenia dla bazy danych MS SQL (mssql), ścieżki do katalogu doc_root i php/ext itd.
3. Zainstalowałem bibliotekę PEAR DB do obsługi najnowszej bazy danych firmy Microsoft.
4. Zainstalowałem MS SQL Server 2008 Express Edition with Advanced Features z domyślnymi ustawieniami.
5. Zalogowałem się do MS SQL 2008 Express Edition i utworzyłem przykładową bazę danych.

Dodam, że ww. składniki zostały do testów zainstalowane na jednej maszynie a identyczna konfiguracja działa beż żadnych problemów z bazami MS SQL 2000 i MS SQL 2005. Zaś z MS SQL Server 2008 Express Edition nie chce działać. Podejrzewałem, ze problem tkwi w bibliotece C:\Windows\system32\ntwdblib.dll ale (chyba?) nie. Podmiana bibliotek dostarczanych wraz z PHP 5.2.6 (wersja 2000.2.8.0) jak i z MS SQL 2000 (2000.80.2039.0) nic nie pomagają. Nadal nie mogę połączyć się z ww. bazą danych.

Hmm... zastanawiam się gdzie tkwi diabeł. Czy ktoś z Kolegów może mi wskazać co robię źle? Z góry dziękuję.


Edycja:
Już wszystko poprawnie działa biggrin.gif I to bez biblioteki ntwdblib.dll. Hmm... trochę to dziwne...

Poniżej prosta funkcja w PHP do połączenia z bazą MSSQL2008 Express Edition z poziomu skryptu PHP:

  1. <?php
  2. function polaczenie()
  3. {
  4.  require_once 'DB.php';
  5.  
  6.  $polacz = DB::connect('mssql://user:haslo@nazwa_serweraSQLEXPRESS/baza_danych');
  7.  
  8.  if (DB::isError($polacz))
  9.    {
  10.      echo "Nie można połączyć się z bazą danych.";
  11.    }      
  12.    else
  13.     {
  14.       echo "Połączono się z bazą danych.";
  15.     }
  16. }
  17. ?>


Gdzie SQLEXPRESS nazwa domyślnej instancji.

Ten post edytował asz 30.10.2008, 15:26:08
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 09:26