2

CentOS 環境に FreeTDS をインストールして構成し、PHP コードが外部の MSSQL サーバーに接続できるようにしました。Windowsで完全に実行されているPDOを使用して、アプリケーション全体を実行しています。私の同じ PDO コードが CentOS でも使用できるかどうかを知りたかっただけです。それ以外の場合は、コード全体を PDO から mssql_query 形式に変換する必要があります。

私が持っているPDOのように:

$statement_keyword = $obj->conn->prepare($keywordquery);
$statement_keyword->execute();
$rows_keyword = $statement_keyword->fetchAll(PDO::FETCH_ASSOC);

FreeTDS を使用する MSSQL では、次のように記述する必要があります。

$result = mssql_query($keywordquery);
while ($Row = mssql_fetch_assoc($result)) {
  $iw[$i++]=(string)$Row['FullName'];
  .......
}

レコード配列を取得するためにループ全体を実行する必要があることを意味します。同様に、ストアドプロシージャの実行のように、さらに変更を加える必要がある場合があります...

CentOS で MSSQL に PDO を使用する方法、または簡単な方法を教えてください。

ありがとう

4

1 に答える 1

0

ネットを探していくつかの調査と実験作業を行った後、Windows の PDO コードを PDO と同等のものに変更する必要なく使用するのは非常に簡単であることに気付きました。必要な変更は、接続が確立される方法だけでした。

Windows での MSSQL での PDO の使用

$this->conn = new PDO("sqlsrv:server=".$this->dbServer.";Database={$this->dbName}",$this->userName,$this->userPassword);

CentOS 上の MSSQL で PDO を使用する

 $this->conn = new PDO("dblib:host=$this->dbServer;dbname={$this->dbName}",$this->userName,$this->userPassword);

CentOS スタックで FreeTDS、ODBC などが構成されていることを確認してください

于 2012-12-19T08:55:22.500 に答える