如何从.NET连接到Oracle DB?

时间:2016-03-04 02:31:53

标签: c# .net oracle web-config connection-string

当我打开SQL命令行时,我写CONNECT username/password@[//]host[:port][/service_name]并将它连接到数据库就好了。但是,我无法使用连接字符串从.NET项目连接。我尝试过很多事情,例如<add name="ConnectionString" connectionString="Data Source=username/password@[//]host[:port][/service_name];" /><add name="ConnectionString" connectionString="server=tcp:host;Initial Catalog=service_name; user id=username; password=password; Connection Timeout=180;" providerName="System.Data.OracleClient" />,但到目前为止还没有任何效果。每当我到达以下sconn.Open();时:

var CurrentConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sconn = new SqlConnection(CurrentConnectionString);
sconn.Open();

我几乎总是收到以下错误:

  

发生与网络相关或特定于实例的错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。 (提供者:SQL   网络接口,错误:25 - 连接字符串无效)

如何正确连接到数据库?

4 个答案:

答案 0 :(得分:5)

尝试以下连接字符串

string con = "Data Source=(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST = 000.00.0.00)(PORT = 0000)))(CONNECT_DATA =(SERVICE_NAME = database)));User ID=User/Schema;Password=password;Unicode=True";

&安培;然后使用此连接字符串如下

using (OracleConnection objConn = new OracleConnection(con))
 {
   \\ code
 }

答案 1 :(得分:3)

我强烈建议使用“官方Oracle ODP.NET,托管驱动程序”。

https://www.nuget.org/packages/Oracle.ManagedDataAccess/

或者实体框架的那个: https://www.nuget.org/packages/Oracle.ManagedDataAccess.EntityFramework/

通过Visual Studio安装后,它会打开一个自述文件,我建议您阅读。

Oracle提供大量文档。这是从哪里开始的: http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html

答案 2 :(得分:1)

您使用用于连接(Microsoft) SQL Server System.Data.SqlClient.SqlConnection,它不能用于Oracle连接。

您应该使用System.Data.OracleClient.OracleConnectionOracle.ManagedDataAccess.Client.OracleConnection

看看这个答案,还可以看到其他可能性: How to connect to Oracle 11 database from . net

答案 3 :(得分:0)

您始终可以使用EF,并使用创建一个ADO.Net Entity Data Model

enter image description here

使用向导创建并测试连接

enter image description here