C#中使用远程的Oracle数据库的连接字符串

有一个Winfrom程序;原来是sqlserver的数据库现在改成Oracle的数据库我第一次使用Oracle,连接字串不知道怎么写,IP地址,用户名,密码,库名,都知道... 有一个Winfrom程序;原来是sqlserver的数据库
现在改成Oracle的数据库
我第一次使用Oracle,连接字串不知道怎么写,IP地址,用户名,密码,库名,都知道

网上写的是 :“Data Source=myoracle;User Id=myname;Password=123

好像还要装客户端,修改orant\net80\admin\tnsnames.ora 文件。这个是不能实现的,我的用户那么多,不可能每个都部署
展开
 我来答
追美商城
2011-07-18
知道答主
回答量:8
采纳率:0%
帮助的人:4.1万
展开全部
新版本

Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword;

旧版本

Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;

OLE DB, OleDbConnection (.NET)

标准连接

此连接字符串适用了微软的驱动。

Provider=msdaora;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;

受信连接

Provider=msdaora;Data Source=MyOracleDB;Persist Security Info=False;Integrated Security=Yes;

标准连接

由Oracle提供的驱动。

Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;

受信连接

Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;

Oracle.DataAccess.Client.OracleConnection

Data Source=TORCL;User Id=myUsername;Password=myPassword;

标准安全连接

Data Source=TORCL;Integrated Security=SSPI;

使用ODP.NET而不使用tnsnames.ora

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;

OracleConnection, Oracle Data Provider, ODP.NET, System.Data.OracleClient.OracleConnection

标准

Data Source=MyOracleDB;Integrated Security=yes;

用于8i RC3及以后的版本

指定用户名和密码

Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no;

用于8i RC3及以后的版本

忽略tnsnames.ora

另一种不需要使用DSN的连接方式。

SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));uid=myUsername;pwd=myPassword;

使用上面的连接字符串可能会导致Visual Studio报告错误,如果您在使用中出现了这些问题,请使用下面的这种连接方式。

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;

使用连接池

如果连接池服务程序找不到已经存在的连接池,它将根据连接字符串创建一个新的池,否则将循环使用池中已存在的连接。

Data Source=myOracleDB;User Id=myUsername;Password=myPassword;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;

Windows身份验证

Data Source=myOracleDB;User Id=/;

特权连接

使用SYSDBA

Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSDBA;

特权连接

使用SYSOPER

Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSOPER;

复制

密码过期处理过程

当使用一个连接字符串连接数据库后,出现“密码已过期”的错误时,请执行OpenWithNewPassword命令来提供新密码。

Data Source=myOracleDB;User Id=myUsername;Password=myPassword;

oConn.OpenWithNewPassword(sTheNewPassword);

Proxy验证

Data Source=myOracleDB;User Id=myUsername;Password=myPassword;Proxy User Id=pUserId;Proxy Password=pPassword;

Core Labs OraDirect (.NET)

User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;

MS Data Shape

Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;User Id=myUsername;Password=myPassword;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yanjiandong20
2011-07-15 · TA获得超过121个赞
知道小有建树答主
回答量:190
采纳率:100%
帮助的人:165万
展开全部
要在你的服务器上配置的你的TNS才可以的!!你的TNS只需要写一个就好了啊!跟客户多少有什么关系?除非你每个客户都有一个Schma?不可以把数据都放在一个schma下面么!这样配置一个就好了!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ThinkIBM
2011-07-13 · TA获得超过5289个赞
知道大有可为答主
回答量:3263
采纳率:0%
帮助的人:5481万
追问
我看你发的连接
不安装,但是也要一台一台的部署啊
能不能像SQLserver那样,没环境要求啊!
追答
SQLserver也有环境要求的,它要求每台机器都安装MDAC
只不过现在的Windows默认都自带安装好了

另外,这个链接,所要求的步骤,你完全可以通过程序去实现,比如程序启动时,检查注册表、环境变量,如果不存在,就进行相应设置,而不需要自己去部署
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式