6

現在、Linux Web サーバーからのアクセスを制限している SQL Server データベース ビューからデータを取得しようとしています。

データを編集する必要はなく、Web ページに表示するだけです。

テキスト フィールドの最初の 255 文字だけを出力して取得するまでは、問題ないように見えます。

これが PHP::PDO を介して FreeTDS を使用する際の問題なのか、それとも正常に動作するのかを知っている人はいますか? 私は他の人が同様の問題を抱えているのを見てきましたが、多くの答えはないようです.

これを MS SQL データベースの接続文字列として使用しています。

$dbConn = new PDO("odbc:Driver=FreeTDS;DSN=OURDSN;UID=WWWUser;PWD=ourpassword");
4

4 に答える 4

9

FreeTDS User Guideによると、「プロトコル定義に固有​​の制限により」varchar 、FreeTDS がSQL Server と通信するときに最大 255 文字しか処理できないことが問題のようです。それより大きいものはすべて data type である必要があります。text

スキーマを適宜変更するか、次のようにクエリ中にデータ型を変換することで、問題を解決できます。

SELECT CAST(mycol as TEXT) FROM mytable
于 2010-03-09T15:09:04.050 に答える