开发一个C/S结构程序,大小还不到1M,有一些读取Oracle数据库的操作。 
然后安装到客户机器上,却必须要安装那么大的Oracle客户端或者简化版的Oracle客户端,还要配置一些服务,然后程序才能连接上Oracle数据库。 
这样导致一个程序的安装和配置相对于用户来说太复杂了,一般用户自己根本配置不明白。 但是开发Java程序的时候,只需要几个Oracle的驱动包文件(.jar)就可以了,并不需要安装Oracle客户端,也不需要配置服务什么的。 我对.net接触不太多,就是想问问,就没有办法不安装Oracle客户端吗?
如果数据库是SQLSERVER 的话,不用安装客户端。
如果是Mysql的话,安装一个不大(4.12M)的驱动也就可以了。
唯独Oracle,难道就没有小的驱动安装或者驱动文件可以使用吗?这个问题我还有一个帖子,有人进行了一些讨论,大家也可以去看看
http://topic.csdn.net/u/20090311/14/bdbb2f4f-cbe8-4b41-989d-56b9c4db336f.html

解决方案 »

  1.   

    用plsql、toad、sqlloader等等工具就可以取代oracle客户端了吧!平常DBA不都用这些工具吗?
      

  2.   

    仅是连接数据库,我认为是不需要安装oracle的,这就需要程序在打包时,把oracle相关的动态链接库文件一起打包进去
      

  3.   

    “用plsql、toad、sqlloader等等工具就可以取代oracle客户端了吧!平常DBA不都用这些工具吗?”如果没安装Oracle客户端,plsql,toad都是连不上数据库的。
    而我正想知道是否有好的解决方案,并且不必安装Oracle客户端。
      

  4.   


    不安装的话,现在是连不上Oracle的。
    打包相关Dll,都哪些是相关的啊?我总不能全部都打进去,或者挨个排除,太费劲了。没有好的解决方案吗?
      

  5.   

    你看到这个问题大致就解决了
    http://topic.csdn.net/u/20090308/12/4174a772-360f-41a8-8220-15ccf31883c7.html?seed=1114660684最终提炼的文件应该还能少,不到10M的样子
      

  6.   

    这个Oracle真是愁人兼霸道,为什么他就不直接提供一个最小的驱动包呢?
    害大家这么费事。
      

  7.   

    方便的话,麻烦发我邮箱:[email protected]
    谢谢
      

  8.   

    Oracle提供了一个精简版的客户端:“Oracle ODBC Instant Client for Windows ”,大概100多m,当然也可以用微软ODBC提供的oracle驱动,但性能和效果都不太理想。如果是windows平台的客户端程序,建议打包“Oracle ODBC Instant Client for Windows ”
      

  9.   

    oracle本身提供一个瘦客户端,你可以把这个瘦客户端直接打包到安装文件中.直接安装就可以使用了!
      

  10.   

    没错,确认是那个道理。
    但我现在希望看到的是Oracle驱动程序而不是庞大的客户端
      

  11.   

    连接oracle必须有oracle的客户端,网上有精简的,大概10m左右,google一下就可以。
      

  12.   

    原来做PB的时候用的:
    方法1   copy文件方法 
    具体如下: 
    (1).先在某机器上安装好客户端(最好安装在c盘); 
    (2).复制此客户端oracle目录下的所有文件作为独立的oracle安装文件; 
    (3).搜索注册表,找到   HKey_Local_machine\software\oracle,把此项目及分支全部导出。 
    (4).打包好你的pb程序,并独立打包好oracle客户端和注册表导出文件。 
    (5).到干净的客户端,解开两个包,导入注册表文件,然后加入路径支持: 
        path=%path%; "c:\Ora817\bin " 
    此方法测试通过,并实施好多项目中. 
    方法2,前两天刚测试成功的,使用jdbc 
    SQLCA.DBMS       =       "JDBC "       
        SQLCA.LogPass       =       "pwd "     
        SQLCA.LogId       =       "user "       
        SQLCA.AutoCommit       =       False       
        SQLCA.DBParm   =   "Driver= 'oracle.jdbc.driver.OracleDriver ',URL= 'jdbc:oracle:thin:@10.0.0.14:1521:orclsc ' "; 
        connect   using   sqlca; 
    把class111.zip放到C:\Program   Files\Sybase\Shared\PowerBuilder\下面, 
    并他其填加到classpath路径里面,还有,确保rt.jar也在classpath中. 
    可参见http://www.itlove.net/Article/2/630/2005/20051122111300.html 帖子见http://community.csdn.net/Expert/topic/5335/5335680.xml?temp=.6083643 
    http://topic.csdn.net/u/20070206/11/05EDC484-4DC3-4D75-A373-E443C6702B56.html
      

  13.   

    哈,这也行,真要.net下可行,就太好了。
    谢谢楼上
    可是
    http://www.itlove.net/Article/2/630/2005/20051122111300.html 
    以及
    http://community.csdn.net/Expert/topic/5335/5335680.xml?temp=.6083643
    都无法打开了,你那里有备份吗?
      

  14.   

    我就是不想用那种所谓绿色版或者简化版的,因为事实已经证明确实会与已经安装的Oracle客户端有冲突。
    因为客户机器上有的业务软件因为需要所以已经安装Oracle客户端了。
    结果安装了简化版的之后,所有程序都访问不了Oracle了。
      

  15.   


    把class111.zip放到C:\Program  Files\Sybase\Shared\PowerBuilder\下面
    这个是为什么呢?
    针对VB或者.net这些语言,应该放哪,怎么引用呢?