用BDE连接ORACLE遇到一个巨难题,是不是BDE有BUG?各位大虾来救命~~~~(有源码)
但当我用TBlobStream插入BLOB类型的值时就提示Cannot modify a read-only dataset,而我用Database Desktop手工插入BLOB却OK,
是不是我的操作或者配置有什么问题?
源码如下:
AnsiString TmpStr="select jcajbh,jcbgh,fjbm,jcsx,jcjl1 from jcjl where "+SqlLine.SubString(11,iPos1-12);
ExecuteSql->Active=false;
ExecuteSql->SQL->Text=TmpStr;
ExecuteSql->Active=true;
ExecuteSql->Edit();
TBlobStream* Blob=new TBlobStream((TBlobField*)ExecuteSql->FieldByName("jcsx"),bmWrite);
TmpStr=SqlLine.SubString(iPos1+4,iPos2-iPos1-4);
Blob->Read(TmpStr.c_str(),TmpStr.Length());
delete Blob;
TmpStr=SqlLine.SubString(iPos2+6,SqlLine.Length()-iPos2-5);
Blob=new TBlobStream((TBlobField*)ExecuteSql->FieldByName("jcjl1"),bmWrite);
Blob->Read(TmpStr.c_str(),TmpStr.Length());
delete Blob;
相关推荐
1500个前端开发常用JavaScript特效
1500个前端开发常用JavaScript特效,实例超多,特效实用,欢迎下载学习
Delphi ODAC源码解析:Oracle数据库连接组件原理与实战应用
数据库连接组件是应用程序与数据库系统交互的核心桥梁,其设计原理直接影响着数据访问的性能、稳定性和部署便利性。在Delphi开发领域,传统的BDE、ADO等方案在连接Oracle数据库时,常面临依赖复杂、性能瓶颈和跨平台限制等挑战。第三方组件通过直接实现数据库网络协议(如Oracle的TNS协议),能够绕过标准客户端依赖,实现高效、绿色的数据访问。ODAC(Oracle Data Access Components)作为一款成熟的商业组件,其纯Pascal编写、不依赖外部Oracle客户端的特性,为Delph
Delphi+ODAC实战:连接Oracle的选型、配置与性能优化
数据库连接是C/S应用开发的基石,通用的ODBC接口虽然兼容性强,但在特定数据库特性的支持和性能上往往不尽如人意。为此,原生数据访问组件成为企业级项目的优选,其中ODAC(Oracle Data Access Components)是Delphi开发者连接Oracle的常用方案。它直接与Oracle TNS协议交互,无需ODBC中间层,并提供OCI和Direct两种连接模式。Direct模式免安装客户端,简化了系统部署;同时ODAC支持Oracle特有类型与高级特性,显著提升开发效率。在实际工程中,从连接串
Delphi老项目连接Oracle实战:ODAC迁移、直连与OCI模式选型指南
在金融、制造等行业的遗留系统中,Delphi老程序连接新版Oracle数据库一直是典型的工程挑战。数据库访问组件作为数据交互的桥梁,直接决定了系统的稳定性与兼容性。ODAC作为Delphi生态中成熟的Oracle访问方案,通过绕开BDE的陈旧机制,提供了直连与OCI两种工作模式。直连模式免安装客户端、部署灵活,OCI模式则完整支持高级特性,二者各有适用场景。同时,字符集与NLS配置是中文乱码问题的根源,连接池与批量操作则是性能优化的关键。本文从组件原理出发,结合实际迁移路径与避坑清单,为维护老系统的开发者提
Delphi连接Oracle实战:ODAC配置、分页、事务与常见坑解析
在Delphi开发中,连接Oracle数据库是常见且复杂的工程任务。数据库访问组件的选型直接影响应用性能与维护成本,而OCI作为Oracle官方底层接口,提供了最高效的原生通信路径。ODAC正是基于OCI的直接封装,让Delphi应用绕过ODBC与OLEDB中间层,以最短路径完成数据交互,显著提升查询与批量操作效率。从连接配置、参数绑定、分页SQL到存储过程调用与事务控制,ODAC均提供了完整支持,并在连接池、字符集处理等环节具备精细化调优能力。在企业级业务场景中,如ERP、进销存或后台定时任务,ODAC可


