0

現在、Zend Framework (2) を使用して PHP(5.3) でアプリを開発しています。顧客は最近、ターゲット データベースが MS SQL Server になることを発表しました。

だから..いくつかのDBアダプターオプションをチェックしました:

PDO_MSSQLは非推奨のようです。

SQLSRV は Windows サーバーでのみ機能しますか?

PDO_ODBCは、さまざまな OS サポートの正しい選択と思われます。

Zendでそれを行う適切な方法は何か提案をいただければ幸いです。

4

4 に答える 4

2

私はかつてhttp://php.net/manual/en/book.mssql.phpを使用し、その周りに独自の Zend ラッパーをコーディングしました。最も簡単な方法ではありませんが、MSSQL と MySQL の小さな違いをすべて制御したかったのです。

しかし、次の設定は機能しませんか?

resources.db.adapter                             = "sqlsrv"
resources.db.host                                = "localhost\SQLEXPRESS"
resources.db.dbname                              = "DatabaseName"
resources.db.isDefaultTableAdapter               = true 
resources.db.driver_options.ReturnDatesAsStrings = true

しばらく前に提案されたこのようなものを見ました。

ところで、これは Zend Framework 1 ですか、それとも 2 ですか?

于 2013-01-23T13:44:20.770 に答える
1

SQLSRV は Windows サーバーでのみ機能しますか?

確かに、ライブラリ PHP ラップは Windows でのみ使用できます。

PDO_MSSQL は非推奨のようです。

あなたはPDO_SQLSRVを意味します。この情報はどこから入手しますか?PDO_SQLSRV内で必要な情報を見つける

PDO_ODBC は、さまざまな OS サポートの正しい選択と思われます。

はい、PDO_ODBCおよびLinux 用の ODBC ドライバー 1.0 を参照してください。

Zendでそれを行う適切な方法は何か提案をいただければ幸いです。

ZF2 は 2.1 以降、両方のドライバーを使用してこれをサポートします (アルファ/またはベータ ~ 来週)これを読む

于 2013-01-25T15:39:14.117 に答える
1

pdo dblib で freetds を使用します。そこに私はそれを使用する方法を書いたブログ投稿を持っています(ZF1で): http://featurebug.blogspot.de/2011/04/linux-php-and-zend-framework-and-ms-sql.html

PS Linux/Mac OS X 用の sqlsrv はありません

于 2013-01-23T18:19:29.600 に答える
0

ブルート フォース戦術.. SQLSRV はロードされませんでした..これは外部ドライバーであり、php バージョン、VS バージョン、SQL サーバー ドライバーに応じて 15 を超えるビルドが可能であるためです..

だから..それらをすべてダウンロードして、それぞれを1つずつ試しました

次のようなphpテストページを使用します。

echo "is 'sqlsrv' loaded: " . (extension_loaded('sqlsrv')?'yes':'no') ;

最後が機能する前の最後のもの:)

zend のプロパティはresources.db.adapter = "sqlsrv"

「Microsoft SQL Server 2012 Native Client」も促されました

しかし.. Linux / Macにインストールする方法がわかりません

于 2013-01-24T08:27:48.273 に答える