首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

向oracle存大一点的图片报“oar-01460:转换请求无法实现或不合理”异常

2012-03-11 
向oracle存大一点的图片报“oar-01460:转换请求无法实现或不合理”错误向oracle存大一点的图片时,报“oar-014

向oracle存大一点的图片报“oar-01460:转换请求无法实现或不合理”错误
向oracle存大一点的图片时,报“oar-01460:转换请求无法实现或不合理”错误。
代码如下:

TMemoryStream* pMS = new TMemoryStream;
pMS-> LoadFromFile("C:/1.jpg"); // 选择一个文件,读入流
pMS->Position=0;
pMS-> Seek(0,soFromBeginning); // 设流指针 0

ADOQuery1-> SQL-> Clear(); // 插入脚本操作
ADOQuery1-> SQL-> Add( "insert into carimage (specialimage) values (:image)");
ADOQuery1-> Parameters-> ParamByName( "image")-> LoadFromStream(pMS, ftBlob);
ADOQuery1-> ExecSQL(); // 执行SQL

delete pMS; // 删除流
pMS = NULL;
MessageBox(this->Handle,"上传成功!","提示",MB_OK);

有哪位高手做过这方面的,给个解决方法呗!

[解决办法]
我以前碰到过用一种驱动 存图片提示不出错,可是实际上存不进去
后来换驱动就好了
你更换连接Oracle的驱动试试?
[解决办法]
先看看oracle的查询分析器能存进去不?
[解决办法]
图片是不能insert的,是必须update的,操作的顺序是先执行select * from 表名 where id =:id for update 然后

C/C++ code
TMemoryStream* pMS = new TMemoryStream;pMS-> LoadFromFile("C:/1.jpg"); // 选择一个文件,读入流pMS->Position=0;pMS-> Seek(0,soFromBeginning); // 设流指针 0      ADOQuery->Active = false;      ADOQuery->SQL->Clear();      ADOQuery->SQL->Add("update carimage  set specialimage =:PHOTO where ID =:RECORDID");      ADOQuery->Parameters->Items[0]->LoadFromStream(pMS,ftBlob);      ADOQuery->Parameters->Items[1]->Value = RecordID;      ADOQuery->ExecSQL();delete pmem; 

热点排行