如何在oracle中存取文件???

Magusflp008 2004-08-24 02:30:43

各位, 小弟正在做一东东, 用oracle存取文件,
存放在表C_FILE_T, 其中c_file列为blob型, 我用ADOQuery操作


...全文
210 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
cronuz 2004-08-26
  • 打赏
  • 举报
回复
楼主:好久没有遇到象NI怎麼好的主顧了、问题解决還把解決方法告訴大家。
   怎麼快GUAN上我了。(~_~)
Magusflp008 2004-08-26
  • 打赏
  • 举报
回复
问题解决, 安装ORACLE PROVIDER FOR OLE DB 即可使用ADO, 如CLIENT端没有此PROVIDER, 可到ORACLE SITE下载安装,或安装ORACLE时选择MANAGEMENT安装
Magusflp008 2004-08-26
  • 打赏
  • 举报
回复
大家happy嘛
其实也不用直接装MANAGEMENT , 选择 自定义 安装, 只要把 windows interface 选上就好了

以后有问题还多请教阿


u happy , me happy , everybody happy
cronuz 2004-08-25
  • 打赏
  • 举报
回复
「Provider=MSDAORA.1」是不支持Blob型的。

若用「OraOLEDB.Oracle.1」要装入Oracle客戸端(Oracle Client)
Magusflp008 2004-08-25
  • 打赏
  • 举报
回复
如果用OraOLEDB.Oracle.1 报错, Provider cannot be found. It may not be properly installed
我安装的是oracle9, windows2kProfessional
Magusflp008 2004-08-25
  • 打赏
  • 举报
回复
我用的是

Provider=MSDAORA.1;Password=xxx;Persist Security Info=True;User ID=xxx;Data Source=xxx;Extended Properties=""
cronuz 2004-08-25
  • 打赏
  • 举报
回复
是不是数据庫的連接有什麼問題?

我的ADOConnection1的属性ConnectionString的内容↓
Provider=OraOLEDB.Oracle.1;Password=xxx;Persist Security Info=True;User ID=xxx;Data Source=xxx;Extended Properties=""

Magusflp008 2004-08-25
  • 打赏
  • 举报
回复
用cronuz(cronus) 的方法 出现 "通讯信道上出现EOF" 的ORACLE报错
cronuz 2004-08-25
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
begin
with DataModule1.ADOQuery_Insert do begin
SQL.Clear;
SQL.Text := 'insert into INVENTORY_MST (inv_code,inv_name,inv_poster) values (:vcode, :vname, :vpost)';

Parameters.Clear;
Parameters.AddParameter.Name := 'vcode'; //参数定義
Parameters.AddParameter.Name := 'vname';
Parameters.AddParameter.Name := 'vpost';

Parameters.ParamByName('vcode').Value := Edit1.Text; //参数付値
Parameters.ParamByName('vname').Value := Edit2.Text;
Parameters.ParamByName('vpost').LoadFromFile(Edit3.Text, ftBlob);
ExecSQL;
end;
end;

(注:給出一個例子供参考)
Magusflp008 2004-08-25
  • 打赏
  • 举报
回复
(adoquery1.fieldbyname(‘c_file) as Tblobfield).loadfromfile (self.OpenDialog1.FileName, ftBlob);

那在这条语句之前 对adoQuery应进行怎样的操作? 我用执行
select * from C_FILE_T 语句对adoQuery进行open , 但系统报错Data Type is not Supported, 应该怎样写呢?

cronuz 2004-08-25
  • 打赏
  • 举报
回复
1.正確安装Oracle Client、就会有「Oracle Provider for OLE DB」

2.只有修改BDE的BOLB SIZE

我試過用BDE時、若SIZE過大、存和读均有問題。但是ADO就不存在SIZE的問題。
Magusflp008 2004-08-25
  • 打赏
  • 举报
回复
我用BDE解决了存的问题, 可是读取的时候, 读出的文件大小最多是32K, 而修改了BDE的BOLB SIZE后效果一样

各位, 有什么好建议?
Magusflp008 2004-08-25
  • 打赏
  • 举报
回复
没有
只有Mircrosoft OLE Provider for Oracle , 请问要怎样安装Oracle Provider for OLE DB???
cronuz 2004-08-25
  • 打赏
  • 举报
回复
在設定ConnectionString時、要用到「Data Link Property」窗口的「Provider」頁、
有「Oracle Provider for OLE DB」嗎?
Magusflp008 2004-08-25
  • 打赏
  • 举报
回复
我安装的是oracle9 Client, 报错 Provider cannot be found. It may not be properly installed
cronuz 2004-08-24
  • 打赏
  • 举报
回复
(adoquery1.fieldbyname(‘c_file) as Tblobfield).loadfromfile (self.OpenDialog1.FileName, ftBlob);
atention 2004-08-24
  • 打赏
  • 举报
回复
太不详细了。估计是你的错误,仔细检查一下。
Magusflp008 2004-08-24
  • 打赏
  • 举报
回复

我用adoQuery1.open时,系统报错Data Type is not Supported, 不能使用(adoquery1.fieldbyname(‘c_file) as Tblobfield).loadfromfile (self.OpenDialog1.FileName);

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧