Doctrine 2 (Symfony 2 用) を使用して Linux マシンから MSSQLServer に接続しようとしています。
pdo_dblib (FreeTDS/Sybase DB-lib 用の PDO ドライバー) をインストールし、コマンド ラインで tsql を介して、また php cli からも db サーバーに接続できます。したがって、私はこれが機能していることを知っています。
Symfony/app/config/parameters.ini ファイルで、データベース ドライバーとして database_driver="pdo_sqlsrv" を指定しました (これは によって処理されると読んだため) が、(コマンドを使用して)db_lib
データベース作成コマンドを実行しようとすると、php app/console doctrine:database:create
エラーが発生しています:
という名前の接続のデータベースを作成できませんでした ドライバが見つかりませんでした
次に、ドライバーを次のように変更しましたが、database_driver="pdo_dblib"
現在エラーが発生しています。
[Doctrine\DBAL\DBALException]
指定された「ドライバー」pdo_dblib は不明です。Doctrine は現在、次のドライバーのみをサポートしています: pdo_mysql、pdo_sqlite、pdo_pgsql、pdo_oci、oci8、ibm_db2、pdo_ibm、pdo_sqlsrv
したがって、MSSQL に接続するには私の唯一のオプションのように思われるpdo_sqlsrv
ので、これをインストールすることにしました。ただし、ここで発見したのは、
PDO_SQLSRV 拡張機能は、Windows で実行されている PHP とのみ互換性があります。
したがって、doctrine でサポートされているドライバーと Linux で使用できるドライバーは、相互に排他的であるように見えます。検索したところ、これまでにこの問題が解決された例は見つかりませんでした (1 人の男が問題を解決済みとしてマークしましたが、スレッドを読んだとき、彼は開発環境を Windows ボックスに移動しただけでした...私が持っていたものとはまったく異なります念頭に置いて!)。