为什么必须安装Oracle客户端呢?

wts 2009-03-11 02:09:40
开发一个C/S结构程序,大小还不到1M,有一些读取Oracle数据库的操作。
然后安装到客户机器上,却必须要安装那么大的Oracle客户端或者简化版的Oracle客户端,还要配置一些服务,然后程序才能连接上Oracle数据库。
这样导致一个程序的安装和配置相对于用户来说太复杂了,一般用户自己根本配置不明白。

但是开发Java程序的时候,只需要几个Oracle的驱动包文件(.jar)就可以了,并不需要安装Oracle客户端,也不需要配置服务什么的。

我对.net接触不太多,就是想问问,就没有办法不安装客户端吗?
...全文
1049 46 打赏 收藏 转发到动态 举报
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
kerry_cheng 2009-04-15
  • 打赏
  • 举报
回复
其实是有解决办法的。
wts 2009-04-15
  • 打赏
  • 举报
回复
看来这个问题暂时是不会有官方正解了。
结贴。
diffmaker 2009-03-27
  • 打赏
  • 举报
回复
还有,连接字符串中的Data Source写法
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=1.9.2.4)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)));
diffmaker 2009-03-27
  • 打赏
  • 举报
回复
这两天也是刚刚接触Oracle,呵呵,还是装个客户端比较简单,不要去下官方版的,太大了,有几百兆,去一个精简版的,我下的就是一个精简版的,才3M多,然后修改一下tnsnames.ora文件,指向你的oracle服务器,大致是这样的:
ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle服务器的IP地址)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORACLE数据库实例名)
)
)
你可以自己写好了,让用户覆盖安装文件夹中对应的文件就可以了
注意:修改那个文件后,需要重启机器才有用
zhangjie_it 2009-03-27
  • 打赏
  • 举报
回复
我也想知道这个问题!
我们现在也是在客户端安装的oracle client!
iihero 2009-03-26
  • 打赏
  • 举报
回复
需要安装odp.net的。简化客户端对oci, odbc还能对付,对odp.net, ado,就不是那么自如了。因为里边涉及到且件的注册。
wts 2009-03-20
  • 打赏
  • 举报
回复
我就是不想用那种所谓绿色版或者简化版的,因为事实已经证明确实会与已经安装的Oracle客户端有冲突。
因为客户机器上有的业务软件因为需要所以已经安装Oracle客户端了。
结果安装了简化版的之后,所有程序都访问不了Oracle了。
to_cld 2009-03-19
  • 打赏
  • 举报
回复
保护主义,MS想让我们都用SQL server
wts 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 huwei001982 的回复:]
必须安装
[/Quote]
说必须安装的,明显是没认真调查过。
上面明明都已经有说有办法的了。
真是我总感觉方法不是特别好而已。
huwei001982 2009-03-19
  • 打赏
  • 举报
回复
必须安装
relive_qiankai 2009-03-18
  • 打赏
  • 举报
回复
不装客户端的没弄过 帮顶了.
wts 2009-03-17
  • 打赏
  • 举报
回复
但我看那个odp.net下载下来也不小啊,不知道实际部署的时候是不是也要安装odp.net?
还是说生成安装包的时候仅包含必须的几个dll即可?
qlzf11140820 2009-03-17
  • 打赏
  • 举报
回复
up
Dobzhansky 2009-03-16
  • 打赏
  • 举报
回复
oracle 服务器是一个网络伺服器软件, 典型的 tcp/ip 服务器,
客户端库首先就是要遵照 oracle net service protocol 封装跟数据库的会话,
再把数据按照不同情形的需要呈现出来

对于 .net 就是 DataSet DataTable 那些东西

java 下类似.

java jdbc 的有两种吧, 你说的那个不需要客户端的好似是一个便捷版,
如果需要更多功能还是要安装客户端的.

oracle 客户端的核心是 OCI(Oracle 调用接口), 对于 OCI,
oracle 自己是这样描述:
OCI是如此可靠,以至于Oracle数据库中的每一条SQL语句都通过OCI来执行。

其他的数据访问技术, 如 ODBC, ole db, ado.net 都是构建于 OCI 之上的,
要依赖于 OCI 的底层功能, 因而是必须安装的.
wts 2009-03-16
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 quzhihui 的回复:]
其实不是Oracle的问题,应该Microsoft的问题。
.NET只提供了自家数据库的连接方式(如SQL SERVER,ACCESS),
没有提供对其它数据库的支持(如Oracle、DB2、Sybase等)
[/Quote]

是的,主要应该还是驱动的问题。
对于Java,Oracle提供了官方的驱动包(几个jar文件),
那么对于.net,有没有类似与驱动的文件呢?dll?
或者有没有第三方的呢?
wts 2009-03-16
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 wolf1118baby 的回复:]
可以不装客户端,有一个文件我可以给你,你试一试!
[/Quote]

方便的话,麻烦发到我的邮箱:testman@163.com
谢谢了。
quzhihui 2009-03-16
  • 打赏
  • 举报
回复
其实不是Oracle的问题,应该Microsoft的问题。
.NET只提供了自家数据库的连接方式(如SQL SERVER,ACCESS),
没有提供对其它数据库的支持(如Oracle、DB2、Sybase等)
wolf1118baby 2009-03-16
  • 打赏
  • 举报
回复
可以不装客户端,有一个文件我可以给你,你试一试!
gouhan02 2009-03-16
  • 打赏
  • 举报
回复
关注。
Teng_s2000 2009-03-16
  • 打赏
  • 举报
回复
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Data.OracleClient.dll
手边没有Oracle数据库没有办法测试是不是只有这一个dll就能访问Oracle了!
加载更多回复(24)

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧