著者: Wenlong Wu
1. MS SQL SERVER データベースの場合
次の 2 つの解決策があります:
php.ini を変更して次のことを実現します: php.ini を開くと、mssql.textsize、mssql.textlimit が表示されます。 2 つのオプション:
; 有効な範囲は 0 ~ 2147483647。デフォルト = 4096。mssql.textlimit = 4096
; 有効な範囲は 0 ~ 2147483647。
;
デフォルトの設定は 4096 バイトであることがわかりますが、これは多くの場合 4K に切り捨てられます。これを適切なサイズに変更し、先頭のセミコロンを削除して保存し、WEB サーバーを再起動します。
上記の 2 つのオプションから、範囲は 0 ~ 2147483647 バイトであることがわかります。実際には、-1 も許容されます。-1 は無制限を意味することがわかります。
if ( MS_SQL_G(textlimit) != -1) {
sprintf(buffer, "%li", MS_SQL_G(textlimit));
if (DBSETOPT(mssql.link, DBTEXTLIMIT,buffer)== FAIL) {
efree(hashed_details);
dbfreelogin(mssql.login);
}
if (MS_SQL_G(textsize) != -1) {
sprintf(buffer , "SET TEXTSIZE %li", MS_SQL_G(textsize));
dbcmd(mssql.link, バッファ);
dbresults(mssql.link); ;
}
PHP でクエリを実行する前に SET TEXTSIZE を実行します。 適切なサイズ: mssql_query("SET TEXTSIZE 65536") の前に
を実行します。この拡張機能には、SQL SERVER のような php.ini で構成可能なオプションがありません。唯一の方法は、上記の 2 番目の方法、つまり、
SELECT の前に実行
sybase_query("SET TEXTSIZE 65536"); を使用することです。