2017-02-09 2 views
2

Ich habe eine VPS mit Apache2 auf Ubuntu 16 installiert. Jetzt versuche ich eine Verbindung zu meinem Business-Datenbank mit UnixODBC-Treiber. Ich habe jetzt seit zwei Tagen damit zu kämpfen und ich kann nicht herausfinden, warum es keine Verbindung zu meiner Datenbank herstellen wird.FreeTDS funktioniert, aber odbc kann keine Verbindung zu mssql Server

Ich habe UnixODBC mit FreeTDS installiert. Meine PHP-Version ist 7.0. In meinem index.php versuche ich auf meine Datenbank wie dies in der __construct Klasse zu verbinden:

$ this-> dbconn = new PDO ("odbc: Driver = FreeTDS; host = SPOOF; dbname = SPOOF" "SPOOF", "SPOOF");

Aber dies tun wird mir diesen Fehler ganz gleich zurückgeben, was ich tun:

Fatal error: Uncaught PDOException: SQLSTATE[08001] SQLDriverConnect: 0 [unixODBC][FreeTDS][SQL Server]Unable to connect to data source in /var/www/ttv-boomgaardshoek.nl/public_html/Sharelogistics/index.php:5 Stack trace: #0 /var/www/ttv-boomgaardshoek.nl/public_html/Sharelogistics/index.php(5): PDO->__construct('odbc:Driver=Fre...', 'SPOOF', 'SPOOF') #1 /var/www/ttv-boomgaardshoek.nl/public_html/Sharelogistics/index.php(8): CakeClass->__construct() #2 {main} thrown in /var/www/ttv-boomgaardshoek.nl/public_html/Sharelogistics/index.php on line 5 

Aber ich kann nicht herausfinden, warum sagt er es zu Datenquelle verbinden kann nicht. Ich habe meine odbc.ini wie folgt konfiguriert bekam:

[Share] 
Driver = FreeTDS 
TDS_Version=8.0 
ServerName = Share 
SERVER = SPOOF 
Port = 1433 
Database=SPOOF 

Mein odbcinst.ini enthält diese:

[FreeTDS] 
Description = FreeTDS 
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so 
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so 

Aber es wird einfach nicht verbinden, auch die IP auf dem MSSQL Server weiße Liste gesetzt wird. Die Anmeldeinformationen sind richtig. Es ist im Einsatz auf einem Linux VPS, auf Ubuntu 16.04

Antwort

1

Ich würde empfehlen, Prüfabschnitt 2 dieses Artikels: würde das pdo_sqlsrv Modul hätte https://www.microsoft.com/en-us/sql-server/developer-get-started/php-ubuntu

sudo su 
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - 
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list 
exit 
sudo apt-get update 
sudo ACCEPT_EULA=Y apt-get install msodbcsql 
sudo apt-get install unixodbc-dev gcc g++ build-essential 
sudo pecl install sqlsrv pdo_sqlsrv 
sudo echo "extension= pdo_sqlsrv.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"` 
sudo echo "extension= sqlsrv.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"` 

An dieser Stelle installiert: https://github.com/Microsoft/msphpsql

Hoffe das hilft!

Verwandte Themen