PDO ODBC を使用して PHP を MSSQL に接続するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-06 10:09:02
オリジナル
225 人が閲覧しました

How to Connect PHP to MSSQL using PDO ODBC?

PDO ODBC 経由で PHP を MSSQL に接続する

PDO ODBC ドライバーを使用して PHP を MSSQL データベースに接続する場合、適切な接続を確保することが重要です。構成。これには、複数の構成ファイルのセットアップが含まれます:

1。構成ファイル:

  • odbc.ini: データベースへの接続を定義します。
  • odbcinst.ini:ドライバーの場所。
  • freetds.conf: MSSQL に接続するための DSN (データ ソース名) を定義します。

2.パッケージのインストール:

  • unixodbcfreetds をインストールします。オペレーティング システムで特定のパッケージ名が必要になる場合があります (Ubuntu の tdsodbc など)。

3. odbc.ini 構成:

[mssql]
Description             = MSSQL Server
Driver                  = freetds
Database                = XXXXXX
ServerName              = MSSQL
TDS_Version             = 7.1
ログイン後にコピー
  • XXXXXX をデータベース名に置き換えます。
  • ドライバーの値が odbcinst.ini で定義されたドライバーと一致することを確認してください。
  • ServerName は、freetds.conf で定義したものと一致する必要があります。
  • TDS_Version を freetds.conf で指定されたバージョンと一致するように設定します。

4. odbcinst.ini 構成:

[freetds]
Description = MS SQL database access with Free TDS
Driver      = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Setup       = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
UsageCount  = 1
ログイン後にコピー
  • システムのアーキテクチャに基づいてドライバーとセットアップのパスを調整します。

5. freetds.conf 構成:

[mssql]
host = XXXXXX
port = 1433
tds version = 7.1
ログイン後にコピー
  • XXXXXX を MSSQL サーバーの IP またはホスト名に置き換えます。
  • ポートを 1433 または適切なポートに設定します。
  • MSSQL バージョンと一致するように tds バージョンを調整します。

6. PHP コードの変更:

  • PHP コードで、dblib を DBNAME として使用して PDO オブジェクトを作成します。
$pdo = new PDO("dblib:host=mssql;dbname=$dbname", "$dbuser","$dbpwd");
ログイン後にコピー
  • ドメイン ユーザー名の形式を指定します。必要に応じてユーザー名を入力します。

7. Apache の再起動:

  • これらの変更をすべて加えた後、Apache を再起動します。

検証:

  • 実行phpinfo() を使用して、セットアップが成功したかどうかを確認します。出力内で「freetds」を検索します。 「ライブラリ バージョン」として「freetds」を含む「MSSQL」セクションが表示されるはずです。

以上がPDO ODBC を使用して PHP を MSSQL に接続するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート