要件

Win32 プラットフォームでの要件

この拡張モジュールは、PHP がインストールされているシステムに MS SQL クライアントツールのインストールを要します。クライアントツールは、 MS SQL Server CD か、またはサーバーの \winnt\system32 から ntwdblib.dll を PHP システムの \winnt\system32 にコピーすることによりインストール可能です。 ntwdblib.dll のコピーでは、名前付きパイプでのアクセスのみが可能となります。 クライアントの設定には全てのツールのインストールが必要です。

この拡張モジュールは、Windows 版では PHP 5.3 以降使うことができません。

MS SQL 用のもうひとつのドライバである SqlSrv が、Microsoft から » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx で公開されています。

Unix/Linux プラットフォームでの要件

MSSQL 拡張モジュールを Unix/Linux で使用するには、まず最初に FreeTDS ライブラリをビルドしてインストールする必要があります。ソースコードや インストール手順は FreeTDS のホームページ » http://www.freetds.org/ にあります。

注意:

Windows では、Microsoft の DBLIB が使用されます。カラム名を返す関数は、 DBLIB の dbcolname() 関数を使用しています。 DBLIB は SQL Server 6.x 用に開発されており、識別子の最大長は 30 です。 そのため、カラム名は最大 30 文字までとなります。FreeTDS を使用する プラットフォーム(Linux)ではこの問題は発生しません。

注意:

Windows で MSSQL 2005 以降を使用する場合は、 PHP をインストールしたディレクトリに ntwdblib.dll をコピーして既存のファイルを上書きしなければなりません。 PHP の配布物に含まれるファイルはバージョンが古く、新しいバージョンに対応していないからです。 あるいは、» http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspxODBCPDO_DBLIBPDO_ODBC といった拡張モジュールを使用して MSSQL とやりとりすることもできます。

add a note add a note

User Contributed Notes 2 notes

up
5
mihabo at hotmail dot com
14 years ago
I have struggled a lot to make PHP connect to a MS SQL server from under a Linux (using FreeTDS).
I installed the latest FreeTDS and tried to use usual host:port to connect to a server.
Finally when I configured freetds.conf like that:

[mysrvalias]
        host = 192.168.17.17
        port = 1433
        tds version = 7.0

and used mysrvalias instead of the 192.168.17.17:1433, it worked!
up
0
gustavo dot beavis at gmail dot com
9 years ago
I had problems with freeTDS version 4.2, and I believe that versions prior to 7.0 have this limit of 30 characters per fields.

I solved the problem by changing to version 8.0
To Top