我现在用C#做一个客户端程序,如何做到程序给用户直接用就可以了,不需要用户安装oracle客户端或者配置数据源??用odbc连接好象不需要安装客户端,但是,那样是不是还需要先配置数据源才能运行系统?我把我的程序制作成安装文件后给用户,用户安装完成就可以直接用,不知道能不能做到??
参与有分

解决方案 »

  1.   

    odbc没用过,其他方式,需要Oracle客户端
      

  2.   

    可以做到的,你把必须的Oracle dll 都弄到你的安装文件里(还要写注册表),就可以了。另外如果客户肯装客户端就好了,因为数据源是可以替客户配置好的。(通过连接字符串就可以)
      

  3.   

    http://cwbboy.cnblogs.com/archive/2006/03/22/356017.html
      

  4.   

    安装程序制作软件支持odbc的配置的,你可以找一下wiseinstaller软件。不过即使你用odbc,在oracle的odbc配置时还是需要指定服务名的,而这个服务名是你oracle客户端软件安装后才可配置的。所以我认为即使用odbc也无法不安装客户端的吧?
      

  5.   

    1)庄一个 Virtual PC 虚拟一个 xp,或 2000
      然后导出注册表 “HKEY_LOCAL_MACHINE” 就可以
    2)在虚拟系统安装 Oracle 客户端最小运行方式就可以
    3复制此客户端oracle目录下的所有文件作为独立的oracle安装文件;
    4)再次导出 HKEY_LOCAL_MACHINE ,和上一个比较一下看那里变了子留下变的地方
      其他删除 (基本上就剩下,OleDB 的注册,还有 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE)
      应该 9I 是这样的,环境变量也有变化 
      不过过环境变量需要 Append 不可以用导入注册表来解决
      如果是 98 环境变量在 AutoExec.Bat 里需要做安装的时候写这个文件还要判断是啥系统
    5) 把得到的清理后的注册表里的一些变量(如路径)改成编程容易找到的字符串
       如将 所有 "e:\oracle\ora90" 替换为 "*SETUP_PATH*" 方便编程替换
       还有 tnsnames.ora 也有服务器名ip 啥的也需要做类似处理
    6) 材料准备完了 Oracle 目录全文件一份,注册表一份
    7) 编程实现(在安装程序或自己写程序都行)、改 tnsnames.ora 、导入注册表,
       、设置环境变量(需要考虑系统这个)
    8) 如果干决 Oracle 全部文件大你就自己看着删除,删到最小为止(反正我是没闲心删)注:前5 步是在虚拟机理进行的在注:此方法可以做出机会所有软件的打包,包括 Office 那样的,不过 Office 需要
          先备份整个C:\ 的文件名到一个 文本文件,不然 Office 带的文件太多了目录也
          乱
      

  6.   

    用OLEDB方式,不需要安装ORACLE,也不需要配置DNS。
      

  7.   

    另外,在我的BLOG里面介绍了访问oracle的几种方式,
    如果有兴趣,你可以去看看。
    地址是:http://blog.csdn.net/xrwang