0
這是問題:我在表中的(BLOB)字段中存儲了一個巨大的xml數據字符串。它有時包含一些字符串70k或更多。我使用ODBC_Connection將其拉出。如果超過32,000個字符,ODBC SQL更新聲明問題
我可以導入(沒問題)。
我可以操縱XML並將其保存爲字符串(沒問題)。
我可以將字符串保存回mySQL字段(沒問題)。
問題出現時,我試圖將其保存回原來的領域,我把它從它。如果我保存的字符串少於32,000個字符,我們就是金。如果字符串中有多個字符,BAM。我收到此錯誤消息。
(!) 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代碼我使用以防萬一:
// 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 。另外,我嘗試使用不同的ODBC驅動程序,並得到了相同的消息,但具有略高字符公差:42000,而不是37000
請幫助....
我有同樣的結果嘗試這一點。非常感謝您的幫助。我已經發布了一些我已經嘗試過的其他信息。我仍然卡住。 –
你還試過使用PHP的ibase擴展嗎?請參閱:http://www.php.net/manual/en/book.ibase.php –
感謝凱文。你的原始建議是正確的。我已經發布了基於你的提示的答案。太感謝了! –