[英]How to connect to Oracle DB from .NET?
当我打开 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="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" />
<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 - 连接字符串无效)
如何正确连接到数据库?
尝试以下连接字符串
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
}
我强烈建议使用“官方 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
您使用System.Data.SqlClient.SqlConnection
用于连接到(Microsoft) SQL Server ,它不能用于 Oracle 连接。
您应该使用System.Data.OracleClient.OracleConnection
或Oracle.ManagedDataAccess.Client.OracleConnection
查看此答案以了解其他可能性: How to connect to Oracle 11 database from . 网
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.