请问VB中如何存取ORACLE数据库的CLOB类型的字段?我把C?
2004-09-20 12:30:291***
请问VB中如何存取ORACLE数据库的CLOB类型的字段?
我把CLOB类型的字段象普通的VARCHAR2字段一样存入数据库,用SQL PLUS WORKSHEET可以查到该字段的值,但是,我用以下SQL语句查询,执行时提示“数据类型不支持”,
请问:如何解决?
请问VB中如何存取ORACLE数据库的CLOB类型的字段?我把CLOB类型的字段象普通的VARCHAR2字段一样存入数据库,用SQLPLUSWORKSHEET可?
最佳回答
---------------------------------------------------------------在vb中的处理在vb中处理大对象,一般可以用OO4O(oracleobjectsforole)来处理大对象。这里介绍一种不用0040处理大对象blob的方法。
下面这段程序可以将一个文件(文本文件,doc文件,图象文件等)保存到数据库中,并可以将其从数据库读出需要两个commandbuttoncmd1名称cmdsavecaption保存cmd2名称cmdreadcaption读取一个cmddialog控件同时需要创建一张表t_demo(字段id类型number,;字段text类型blob;)exmple3。
OptionExplicitDimrnAsADODB。ConnectionPublicFunctionCreateDataSource(DataSourceAsString,UserIDAsString,PasswordAsString)AsBooleanOnErrorGoT "Provider=OraOledb。
Oracle。1;"&_"password="&Password&";"&_"UserID="&UserID&";"&_"DataSource="&DataSource&";"&_"LocaleIdentifier=2052"。OpenEndWithCreateDataSource=TrueExitFunctio ()DimrsAsNewADODB。
Recordsetrs。ActiveConnection=rnrs。LockType=adLockOptimisticrs。CursorLocation=adUseClientrs。Source="select*fromt_demo"rs。OpenComDlgDir。
DialogTitle="保存文件"ComDlgDir。Filter="*。*"ComDlgDir。ShowSaveCallBlobToFile(rs。Fields("text"), lename)Setrs=NothingExitSubSetrs=NothingEndSubPrivateSubcmdsave_Click()DimrsAsNewADODB。
Recordsetrs。ActiveConnection=rnrs。LockType=adLockOptimisticrs。CursorLocation=adUseClientrs。Source="select*fromt_demo"rs。Openrs。
AddNewComDlgDir。DialogTitle="选取文件"ComDlgDir。ShowOpenrs。Fields("id")。Value= lename<>""ThenCallFileToBlob(rs。Fields("text"), lename)rs。
UpdateEndIfSetrs=NothingExitSubSetrs=NothingEndSubPrivateSubForm_Load()IfNotCreateDataSource("sid","systemp","manager")ThenMsgBox"Connectionfailure!"EndIfEndSubfldAsADODB。
Field,filenameAsString,OptionalChunkSizeAsLong=8192)DimfnumAsInteger,bytesleftAsLong,bytesAsLongDimtmp()AsByteIf(fld。AttributesAndadFldLong)=0ThenErr。
Raise1001,,"fielddoesn'tsupporttheGetChunkmethod。"EndIfIfDir$(filename)=""ThenErr。Raise53,,"Filenotfound"fnum=FreeFileOpenfilenameForBinaryAsfnumbytesleft=LOF(fnum)DoWhilebytesleftbytes=bytesleftIfbytes>ChunkSizeThenbytes=ChunkSizeReDimtmp(1Tobytes)AsByteGetfnum,,tmpfld。
AppendChunktmpbytesleft=bytesleft-bytesLoopClose#fnumEndSubSubBlobToFile(fldAsADODB。Field,filenameAsString,OptionalChunkSizeAsLong=8192)DimfnumAsInteger,bytesleftAsLong,bytesAsLongDimtmp()AsByteIf(fld。
AttributesAndadFldLong)=0ThenErr。Raise1001,,"fielddoesn'tsupporttheGetChunkmethod。"EndIfIfDir$(filename)<>""ThenKillfilenamefnum=FreeFileOpenfilenameForBinaryAsfnumbytesleft=fld。
ActualSizeDoWhilebytesleftbytes=bytesleftIfbytes>ChunkSizeThenbytes=ChunkSizetmp=fld。GetChunk(bytes)Put#fnum,,tmpbytesleft=bytesleft-bytesLoopClose#fnumEndSub。
2004-09-20 12:32:30
很赞哦! (292)
相关文章
- ORACLE数据库如何备份数据?
- 如何在oracle中的blob字
- Oracle的数据类型中有没有布
- 如何从Oracle数据库中读取图
- excel表数据如何导入到ora
- Oracle数据库里存的图片是什
- VB连SQLSERVER问题各位
- oracleblob读取为什么部
- oracle中如何将一张数据表中
- 怎么在oracle中查询出所有的
- jsp怎么连接oracle数据库
- 如何学习Oracle数据库呢如何
- oracle怎么导入dmp文件?
- 如何更改Oracle中已经建立的
- 如何在Oracle中实现时间相加
- 请问在使用VB建立mdb数据库时
- 如何在oracle中保存图片?我
- 如何查看Oracle数据表的建表
- vb访问oracle9的clob
- oracle中如何从内存提取数据
- ORACLE数据库如何备份数据?
- 如何在oracle中的blob字
- Oracle的数据类型中有没有布
- 如何从Oracle数据库中读取图
- excel表数据如何导入到ora
- Oracle数据库里存的图片是什
- VB连SQLSERVER问题各位
- oracleblob读取为什么部
- oracle中如何将一张数据表中
- 怎么在oracle中查询出所有的
- jsp怎么连接oracle数据库
- 如何学习Oracle数据库呢如何
- oracle怎么导入dmp文件?
- 如何更改Oracle中已经建立的
- 如何在Oracle中实现时间相加
- 请问在使用VB建立mdb数据库时
- 如何在oracle中保存图片?我
- 如何查看Oracle数据表的建表
- vb访问oracle9的clob
- oracle中如何从内存提取数据