c#连接Oracle,能建立连接但是open操作时出错。 本帖最后由 ade1986 于 2011-02-28 17:16:22 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Data Source=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ora10g))应该是这里面的问题 我看看先 改成这个看看Data Source==(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))))(CONNECT_DATA=(SERVICE_NAME=ora10g)))貌似你少了个括号!!!! 为啥不先配置TNS后,直接使用TNS名来连接?假设你在TNS中配置了一个叫km的Server名,那么你只要使用“Data Source=km;User ID=ckgl;Password=ckgl;”来连接Oracle即可。关于TNS的添加,你可以直接使用Oracle的配置工具来添加,也可以通过程序动态检测注册表信息来添加(前提是你得安装过Oracle客户端,本机装过Oracle服务的也可以).下面是关于如何程序动态添加TNS的一个例子:http://www.cnblogs.com/qldsrx/archive/2010/03/18/1689128.html 谢谢你的回答,但是我写的程序就是不想用用户非得装ORacle才行。 你还是没有明白,“不想用用户非得装ORacle才行”是做不到的,除非你考虑用ODBC(也不见得有驱动),再除非你程序自己绑定一个驱动。这好比你有一台打印机连接在USB口上,不安装驱动你就直接往USB口发指令,它根本不理你。 为什么SQLSERVER不需要装客户端?废话,微软在.NET包里集成了驱动,当然不用你再安装了。 这个我们做的程序已经能实现了,有个插件装上之后,出来的程序连接oracle数据库是不需要客户机器必须安装oracle的,至于怎么做的我也不知道,我也是菜鸟。 http://server.zol.com.cn/127/1273876.html 打开D:\oracle\product\10.1.0\Db_1\network\admin\(路径改成你oracle的安装路径)下的tnsnames.ora文件. 在里面配置你的连接信息. 比如tnsnames.ora文件里面有配置信息: INSTANSNAME = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = MICROSOF-584B4A(这里用你的机器名或者ip))(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = INSTANSNAME) ) ) 哪么连接串就写成 connectionstr="Data source=INSTANSNAME;Password=ttt;Persist Security Info=True;User Id=123"http://topic.csdn.net/u/20091005/14/b54f7e21-ed75-46a6-bbb4-a5bf1db8a946.html 这种连接串如果用的话必须要求机器上有oracle客户端么 不管你用哪种connection string format,客户端必须有。 那完了,我从根上错了,还是专用devart吧,这个真的不错,给推荐下,以前用过,不过用在vs2010上貌似过期了,杯具。 我告訴你,,目前最好的oracle鏈接庫最好的是以下,oracle自身的當然很好,只是大得你受不起,,400mb網站 1網站 2 網站 3 找我要這些的控件的人,不少於過千 1.需要安装一个客户端,如果你只需要你的程序可以连接ORACLE数据库,也可以不安装,把三个文件copy到你程序的目录下即可.2.不需要写什么tnsnames.ora文件 3.连接字符串是Data Source=192.168.1.1:1521/orcl;Uid=gcd;Pwd=cnm;(你的SERVER要求10g或者以上)4.楼主如果需要把程序部署给客户,如果需要客户端的话,我有个打包好的,地址如下: http://download.csdn.net/source/1142118 20M不到 昨天晚上用Devart解决了这个问题,谢谢crackdung给了我提示,让我想到了Devart,同时也谢谢其他哥们让我明白了我已开始就错了。一共就90分了,散完,分不多,多包涵,呵呵。 C#广域网视频数据获取,压缩和传输 MSVFW32.dll ICOpen winforms读取Excel文件,并将其数据插入到数据库的问题 MDIForm设计问题,怎么实现多窗体设计呢?谁有好的代码分享一下 求助:一个简单的问题 如何实现label中文本的反锯齿功能呢? 新手求救三个简单问题,大家不要吝啬赐教啊,回答到一个要点都有分。 菜鸟问题,关于用c#给ACCESS数据库的表添加新列 在C#中读取xml文件值时报错,请高手指教!急! 关于datagrid的问题希望高手进入(再线等,急) 错在那里? rdlc报表的小问题 简单数学基础,请问 除以100和乘以0.01的效果是否一样?
假设你在TNS中配置了一个叫km的Server名,那么你只要使用“Data Source=km;User ID=ckgl;Password=ckgl;”来连接Oracle即可。
关于TNS的添加,你可以直接使用Oracle的配置工具来添加,也可以通过程序动态检测注册表信息来添加(前提是你得安装过Oracle客户端,本机装过Oracle服务的也可以).下面是关于如何程序动态添加TNS的一个例子:
http://www.cnblogs.com/qldsrx/archive/2010/03/18/1689128.html
谢谢你的回答,但是我写的程序就是不想用用户非得装ORacle才行。
这好比你有一台打印机连接在USB口上,不安装驱动你就直接往USB口发指令,它根本不理你。
废话,微软在.NET包里集成了驱动,当然不用你再安装了。
这个我们做的程序已经能实现了,有个插件装上之后,出来的程序连接oracle数据库是不需要客户机器必须安装oracle的,至于怎么做的我也不知道,我也是菜鸟。
在里面配置你的连接信息.
比如tnsnames.ora文件里面有配置信息:
INSTANSNAME =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = MICROSOF-584B4A(这里用你的机器名或者ip))(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = INSTANSNAME)
)
)
哪么连接串就写成
connectionstr="Data source=INSTANSNAME;Password=ttt;Persist Security Info=True;User Id=123"http://topic.csdn.net/u/20091005/14/b54f7e21-ed75-46a6-bbb4-a5bf1db8a946.html
这种连接串如果用的话必须要求机器上有oracle客户端么
那完了,我从根上错了,还是专用devart吧,这个真的不错,给推荐下,以前用过,不过用在vs2010上貌似过期了,杯具。
我告訴你,,目前最好的oracle鏈接庫最好的是以下,oracle自身的當然很好,只是大得你受不起,,400mb網站 1網站 2 網站 3
找我要這些的控件的人,不少於過千
2.不需要写什么tnsnames.ora文件
3.连接字符串是Data Source=192.168.1.1:1521/orcl;Uid=gcd;Pwd=cnm;(你的SERVER要求10g或者以上)
4.楼主如果需要把程序部署给客户,如果需要客户端的话,我有个打包好的,地址如下:
http://download.csdn.net/source/1142118 20M不到