Cacherowset, JDBC и SQL Server 2008 проблема вставки изображения - PullRequest
1 голос
/ 01 мая 2011

Я пытаюсь вставить файл изображения (.png, 200KB) в сервер Sql (тип colb varbinary (max)) через jdbc type 4 (microsoft jdbc 3.0), вот мой код:

            crsi.moveToInsertRow();                
            crsi.updateInt(1, Integer.parseInt(txt_TargetID.getText()));
            crsi.updateBinaryStream(2, fis,f.length());
            crsi.updateString(3, txt_Name.getText());
            crsi.updateString(4, btng_Gender.getSelection().getActionCommand());
            crsi.updateString(5, dpk_Birthdate.getSelectedDateAsText());
            crsi.updateString(6, txt_IdenNo.getText());
            crsi.updateString(7, dpk_RecordDate.getSelectedDateAsText());
            crsi.insertRow();
            crsi.moveToCurrentRow();
            crsi.acceptChanges(); 

crsi - объект cachedrowsetimpl, fis - объект Fileinputstream
При правильном подходе столбцы вставляются, за исключением того, что столбец изображения остается пустым. Что не так?

1 Ответ

0 голосов
/ 02 мая 2011

Хорошо, я решил этот вопрос.Я должен был включить FILESTREAM на сервере SQL, также должен иметь базу данных группы Filestream, в которой должны быть столбец rowguiid и uniqueindentifier.

Более того, я не могу использовать cachedrowset для загрузки файлового потока, но я должен использовать preparestatement для загрузки файлового потока (cachedrowset вызовет конфликт синхронизации)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...