Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Połączenie z bazą danych MSSQL
andyet
post 14.04.2014, 13:30:34
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 3.04.2011

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


Witam,

Mam problem z połączeniem się do bazy danych MSSQL. Mam zainstalowany webserv na windows 8 i stworzony plik

  1. <?php
  2. function connection_mssql() {
  3. $ip = 'xxx.xxx.xxx.xxx:XXXX';
  4. $server_name = "xxx\xxx";
  5. $username = 'xxx';
  6. $password = 'xxx';
  7.  
  8. $con = mssql_connect($ip, $username, $password)
  9. or die('Could not connect to the server!');
  10. }
  11. ?>


W głównym pliku wywołuje

  1. require "mssql_connection.php";
  2. connection_mssql();


Błąd, który otrzymuję to:
Fatal error: Call to undefined function mssql_connect() in C:\WebServ\httpd-users\mssql_connection.php on line 10
Go to the top of the page
+Quote Post
nospor
post 14.04.2014, 13:33:15
Post #2





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




NIe masz zainstalowanego modulu mssql....
http://pl1.php.net/manual/en/mssql.installation.php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
john_doe
post 14.04.2014, 14:19:36
Post #3





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


to na bank smile.gif
ostatnio jak miałem kłopoty z połączeniem z MSSQL ( na wersji php 5.2.9 aby nie używać sqlsrv ale też i z innych powodów infrastrukturalnych ) potrzebowałem podmienić bibliotekę ntwdblib.dll na versję 2000.80.194.0

to dla dla potomnych może smile.gif
Go to the top of the page
+Quote Post
andyet
post 14.04.2014, 15:23:08
Post #4





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 3.04.2011

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


Mieliście rację co do biblioteki, zainstalowałem i się łączy, ale pokazuje mi Login faild, przy danych, które na pewno są poprawne (łączę się na nich przez MS SQL Management). W połączeniu daje IP\Serv, a w SQL Management mam XXXXXX-Server\XXX, tylko jak się łączę do tej bazy z zewnątrz to muszę podać IP? Niby wsio ok, ale nie wiem teraz czemu jest ten login faild.

Ten post edytował andyet 14.04.2014, 15:25:26
Go to the top of the page
+Quote Post
kasior
post 24.09.2014, 09:51:48
Post #5





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 20.12.2005
Skąd: Bydgoszcz

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


Hej. Podłaczę sie do tematu. Mam podobny problem z połaczeniem tyle, że ja używam sqlsrv i PDO. Pierwszy raz łączę się z tą bazą i za bardzo nie wiem co dalej robić.

kody:

init.php
  1. try{
  2.  
  3.  
  4. $hDB = Database::connect();
  5.  
  6. $hDB->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
  7.  
  8. $hDB->query('set names utf8');
  9.  
  10. $request = new Request();
  11. $smarty = new Smarty();
  12.  
  13.  
  14. }
  15. catch (HttpRequestException $e){
  16. drawMessage('warning','Nieprawidłowy parametr','index.php');
  17. print_r( $e->getMessage() );
  18. }
  19. catch (PDOException $e){
  20. drawError('Przepraszamy. Serwis chwilowo niedostępny.');
  21. print_r( $e->getMessage() );
  22. }


class.Database.php

  1. class Database {
  2. public static $hDB;
  3. static public function Connect() {
  4.  
  5. self::$hDB = new PDO( "sqlsrv:server=127.0.0.1/SQLEXPRESS; Database=nazwa_bazy", "user", "haslo");
  6. if (self::$hDB instanceof PDO)
  7. return self::$hDB;
  8. else
  9. throw new PDOException();
  10. }
  11. }


W tym momencie dostaje komunikat:

SQLSTATE[08001]: [Microsoft][SQL Server Native Client 10.0]Named Pipes Provider: Could not open a connection to SQL Server [67].

Jeżeli dodam port ,1433 (jest standardowy ustawiony) to komunikat wygląda tak:

SQLSTATE[08001]: [Microsoft][SQL Server Native Client 10.0]TCP Provider: No such host is known.

Pomocy panowie bo juz niewiem, czy ja coś zle napisałem czy może sql server nie tak skonfigurowany.
Obsługa Named Pipes na serwerze SQL jest włączona jak coś.
Dodam, że działa na nim aplikacja .net i z jej baza chce sie połączyć.



EDIT>> Ok. Dałem rade. trzeba było wyklikać jeszcze kilka rzeczy w sql server i zmienic "/" na "\"

Ten post edytował kasior 24.09.2014, 11:45:47


--------------------
Zapraszam do odwiedzenia mojej strony.
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 Wersja Lo-Fi Aktualny czas: 25.04.2024 - 14:59