急啊,C#连接oracle数据库的方法

amy3701229 2006-05-17 02:47:15
数据库为oracle9i,安装在192.168.1.11的机上,数据库名为:mydb,用户名:system 口令:manager
看到网上这样写:
string myConnString = "user id=zk;data source=zkqx;password=*****";
OracleConnection myConnection = new OracleConnection(myConnString);
有点不明白的是,都没有指定主机名,怎么知道去哪台机上找?
有人告诉我,客户端要先配置一下,那是不是oracle的程序都要先装个客户端然后配置一下才能访问呢?
另外,即使客户端配置过了,C#的程序又怎么能知道去哪里找这个配置呢?
难道有什么机制吗?

MSSQL的做法就很好理解了,主机名->数据库名->用户名->口令
一看就知道

大家帮我解释一下?
...全文
381 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
handsome0916 2006-07-11
  • 打赏
  • 举报
回复
大哥,去找的工作不是C#去做的,你用oledb连就是oledb去做的,用odbc去连就是用odbc去做的
amy3701229 2006-05-18
  • 打赏
  • 举报
回复
helysan(真水无香):感谢!
chengpei_chen 2006-05-18
  • 打赏
  • 举报
回复
看看上面有马
http://www.connectionstrings.com
helysan 2006-05-18
  • 打赏
  • 举报
回复
问题问得好。我试着解答以下:你的程序要连接oracle服务器。如果直接由你的程序来负责与oracle服务器的通讯,那么既烦琐、低性能也不完整。因此,oracle公司开发了客户端程序。客户端配置好数据源后,把数据源名称写入到注册表中了。c/s结构是一个很经典的访问模式,微软既然开发了。net环境,它肯定要负责在你的代码中有connectdb 的命令时,根据连接字符串信息,到注册表中招数据源,进而得到服务器IP等信息,利用这个信息,建立 tcpip 通讯连接。前提是服务器中数据库例程服务已经启动,并开通了侦听服务。
amy3701229 2006-05-18
  • 打赏
  • 举报
回复
C#怎么会知道我们配置了一个Data souce?我问的是C#是否有什么机制会自动去找ORACLE的配置服务名称
hnhl 2006-05-17
  • 打赏
  • 举报
回复
需要安装Orale客户端,用Oracle net Manager配置服务名称。Data souce=配置好的服务名称
chinasdp 2006-05-17
  • 打赏
  • 举报
回复
Provider=MSDAORA.1;User ID=username;Data Source=LocalServerName;Persist Security Info=False

LocalServerName是你通过Oracle客户端配置连接的数据库服务器中的某个实例
amy3701229 2006-05-17
  • 打赏
  • 举报
回复
那还是那个问题,就是:
我们在C#的程序中又没有写明
难道C#如此聪明,能自动和我们配置的客户端联系起来?以致于我们只要设data source就可以了?
interboy 2006-05-17
  • 打赏
  • 举报
回复
Provider=MSDAORA.1;User ID=用户名;Password =密码;Data Source=服务名
interboy 2006-05-17
  • 打赏
  • 举报
回复
得装Oracle的客户端,你的服务名配了吗?
lwjvince 2006-05-17
  • 打赏
  • 举报
回复
namhyuk(namhyuk) ( ) 信誉:100 2006-05-17 16:00:00 得分: 0

据我目前的了解,似乎必须装Oracle客户端才能访问服务器。
------------------

确实如此
namhyuk 2006-05-17
  • 打赏
  • 举报
回复
据我目前的了解,似乎必须装Oracle客户端才能访问服务器。
angelswings 2006-05-17
  • 打赏
  • 举报
回复
LZ所说的连接字符串应该是:
string constr="Provider=OraOLEDB.Oracle;user id =system;password=manager;Data Source=mydb";
HengHuan 2006-05-17
  • 打赏
  • 举报
回复
路过,帮顶
amy3701229 2006-05-17
  • 打赏
  • 举报
回复
c#怎么知道要到哪里去找我们配置好的东东?比如说"主机就是填服务器的IP,还要填SID"
我们在C#的程序中又没有写明
难道C#如此聪明,以致于我们只要设data source就可以了?
tys98 2006-05-17
  • 打赏
  • 举报
回复
Oracle和SQL Server的机制是不一样的,sql server通过IP直接连到目标服务器的IP,Oracle是通过服务名的链接串来实现的,ora9i很好操作。

1.打开企业管理器的界面;
2.右击数据库,点击添加到树
3.手动添加的界面里,主机就是填服务器的IP,还要填SID,而网络服务名就是你在C#中要使用到的。

110,545

社区成员

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

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

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