Xpoint
   [напомнить пароль]

dbd::odbc, вставка больших текстов

Метки: [без меток]
2008-02-13 13:25:10 [обр] avp[досье]
Добрый день.
Столкнулся с такой проблемой: не удается вставить в базу текст больше 32 kb через dbd::odbc.
Использую perl, dbd::odbc, ms sql 2000, win 2003 server, вставляю текст в поле типа text.
Возможно, существует какой нибудь параметр, может, кто знает?
спустя 1 час 6 минут [обр] Thirteensmay(0/157)[досье]
спустя 22 часа [обр] avp[досье]
собственно, не нашел в приведенном примере кода ничего, что помогло бы моей проблеме.
Тут советуют использовать
$sth->bind_param(2, $blob, DBI::SQL_LONGVARBINARY);
для access, для ms sql типа и так прокатит,
и использование параметра $dbh->{LongReadLen} для чтения данных из больших полей,
но он действует только для чтения.
спустя 1 час 47 минут [обр] Thirteensmay(0/157)[досье]
А пробовали ?
Собственно идея заключается в том чтобы использовать bind_param а не напрямую писать в prepare, тут может быть разница, ну например типа у prepare буфер есть в который long может не влезть или чтонить др. в этом духе. В официальной доке DBI кстати вот тоже:
When trying to insert long or binary values, placeholders should be used since there are often limits on the maximum size of an INSERT statement and the quote method generally can't cope with binary data. See Placeholders and Bind Values.
Powered by POEM™ Engine Copyright © 2002-2005