問題は次のとおりです。テーブルの(BLOB)フィールドに格納されているxmlデータの巨大な文字列が1つあります。それは時々いくつかの文字列を70k文字以上保持します。私はODBC_Connectionを使用してそれを引き出します。32,000文字以上のODBC SQL更新文問題
インポートできます(問題ありません)。
XMLを操作して文字列として保存できます(問題ありません)。
文字列をmySQLフィールドに保存できます(問題ありません)。
問題は、元のフィールドに戻すときに問題が発生します。 32,000文字未満の文字列を保存すると、私たちは金色になります。文字列にその文字以上の文字がある場合、BAM。このエラーメッセージが表示されます。助けのための
// Now save it back to the system
$conn=odbc_connect($DBNAME_O,$DBUSER_O,$DBPW_O);
if (!$conn)
{exit("Connection Failed: " . $conn);}
echo $tempFileXML;
$sql="UPDATE EHR_VISITS SET RECORD='$tempFileXML' WHERE EHR_VISITS_ID='1396'";
// echo $theData;
$rs=odbc_exec($conn,$sql);
odbc_close($conn);
おかげで...
UPDATEを:これは、InterBaseデータベースではなく、MS SQLに接続されている。ここ
(!) Warning: odbc_exec() [function.odbc-exec]: SQL error: [DataDirect][ODBC InterBase
driver][InterBase]Dynamic SQL Error, SQL error code = -104, token size exceeds limit,
SQL state 37000 in SQLExecDirect in ...\Test\index4.php on line 129 Call Stack
# Time Memory Function Location
1 0.0011 482872 {main}() ..\index4.php:0
2 0.1260 1033760 odbc_exec () ..\index4.php:129
は、私は念のために使用していますPHPコードです。また、私は別のODBCドライバを使用してみました、そして同じメッセージを得たが、わずかに高い文字許容度:42000の代わりに、37000.
助けてください....
私は同じ結果と同様にこれを試してみました。お手伝いをしてくれてありがとうございました。私は上記のいくつかの追加情報を投稿しました。私はまだ立ち往生している。 –
PHP ibase拡張機能を試してみましたか? http://www.php.net/manual/en/book.ibase.php –
ありがとうございました。あなたの元のアドバイスが正しい軌道上にありました。私はあなたのヒントに基づいて答えを掲示しました。感謝万円! –