簡體   English   中英

使用PDO進行MSSQL連接

[英]MSSQL using PDO to connect

我正在嘗試通過pdo_dblib連接到Mac上的mssql服務器。 我已將freetds.conf更新為要連接的主機。 我的phpinfo告訴我,我已經將所有驅動程序連接起來,一切順利。 下面是我編寫的用於測試是否可以連接到服務器的代碼。

<?php
  $servername = "IP";
  $port = "port";
  $username = "username";
  $password = "password";
  $myDB = "database";
  try {
     $conn = new PDO("dblib:dbname=$myDB;host=$servername:$port", "$username", "$password");

     // set the PDO error mode to exception
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     echo "Connected successfully"; 
  }
  catch(PDOException $e)
  {
  echo "Connection failed: " . $e->getMessage();
  }
?>

但是我得到一個錯誤:

連接失敗:SQLSTATE [](空)(嚴重性0)

我嘗試使用SQL Developer連接到mssql服務器,並且它正常工作。 我已經整天試圖解決這個問題。 可能是什么問題? 謝謝!

從連接字符串中的變量中刪除引號-

 $conn = new PDO("dblib:dbname=$myDB;host=$servername:$port", $username, $password);

我找到答案了!

您必須在/usr/local/Cellar/freetds/0.91/etc/freetds.conf中取消注釋TDS版本協議。

在“ 為什么我的服務器無法使用PHP mssql_connect連接到遠程MSSQL服務器”中找到解決方案

但是為什么我必須這樣做...不知道...希望有人可以給出一些解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM