在网上搜了一下关于delphi远程连接Oracle的东西,说是需要安装Oracle客户端软件,或者odac,那这样的话程序部署的时候要怎么办,每个客户端都要安装Oracle的客户端?如果是用ado连接远程Oracle那么连接字符串的datasoure改怎么写?
刚接触oracle,请帮忙

解决方案 »

  1.   

    用三层结构实现,客户端就不用安装Oracle的驱动,只需要Delphi的相关支持库。实在要Oracle驱动,那Oracle官方的instantclient支持包也不错,绿色环保的,不需要安装,就需要在操作系统做简单配置即可。
      

  2.   

    用三層,服務器端直接安裝好ODAC92070.exe,再配置好監聽,測試OK後;SQL上直接建立SQL Link即可:以下是一個SQL Link,供LZ參考:
    /****** Object:  LinkedServer [ora]    Script Date: 08/09/2010 11:03:06 ******/
    EXEC master.dbo.sp_addlinkedserver @server = N'ora', @srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'rsc'
     /* For security reasons the linked server remote logins password is changed with ######## */
    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ora',@useself=N'False',@locallogin=NULL,@rmtuser=N'mes',@rmtpassword='########'
    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ora',@useself=N'False',@locallogin=N'mes',@rmtuser=N'mes',@rmtpassword='########'GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'collation compatible', @optvalue=N'true'
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'data access', @optvalue=N'true'
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'dist', @optvalue=N'false'
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'pub', @optvalue=N'false'
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'rpc', @optvalue=N'false'
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'rpc out', @optvalue=N'false'
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'sub', @optvalue=N'false'
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'connect timeout', @optvalue=N'0'
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'collation name', @optvalue=null
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'lazy schema validation', @optvalue=N'false'
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'query timeout', @optvalue=N'0'
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'use remote collation', @optvalue=N'true'
    GOEXEC master.dbo.sp_serveroption @server=N'ora', @optname=N'remote proc transaction promotion', @optvalue=N'true'
    GO
      

  3.   

    Oracle的那是没办法的,如果你是三层,那就不用每客户端去装Oracle的客户端
    因为连接Oracle数据库是通过网络服务名,装Oracle的客户端其实就是为了配置网络服务名。
    datasoure你用数据库IP试下看?如果不行,那就肯定要装Oracle的客户端
      

  4.   

    用UniDac可以不用装客户端,也不用三层
      

  5.   

    查詢時這樣:select * from openquery(ora,'select * from bom_loc')note: " ora"為SQL &ORACLE 之LINK;
      

  6.   

    ODAC有一种连接方式是不需要安装客户端的
      

  7.   

    强烈建议你采用ODAC配合CBX
    ================================
    CBX框架是一套健壮、简单易用的Delphi三层框架,完全以Midas为基础進行开发,非常适合开发大型企业应用。CBX是一个完备的体现RIA思想的应用开发框架,它充分的具备了这三大要素,包含:浏览器ao运行容器插件;宿主在IIS的应用服务器兼部署服务器;以Delphi 7为基础扩展而来的强大开发环境。 CBX的价值在于:能够将Delphi7开发桌面应用的强大能力搬上了浏览器,远远超越基于Html乃至Ajax技术的Web开发技术的能力范畴,它意味着:几乎所有的VCL控件都能直接用使用在Web客户端中;几乎所有的Windows API都可以在客户端调用;客户端代码执行效率达到了C++的级别; 能使用客户端电脑的所有硬件资源。
    具备一个简约而高效强大的服务器容器环境,能够用Delphi Midas的开发模式开发高效率的、能够穿透防火墙、在互联网上运行的应用服务器,天然集成无状态中间层业务对象的机制,系统层次简捷健壮,充分体现了三层构架的高性能,将三层构架系统的特性发挥到了极致;
    CBX具备高度开放的访问接口,天然面向和各种Web系统交互和集成,诸如:JSP、ASP、ASP.Net、PHP乃至静态html网页,开发者不仅可以将CBX模块自如的嵌入到纯Web系统中,而且还能通过灵活的接口和CBX对象交互,让CBX充当各种纯Web构架方案的强有力补充,弥补纯html技术能力所不能及之处。请加入500人超级CBX&Delphi群 11701114
      

  8.   

    ODAC有一种连接方式是不需要安装客户端的