当我打开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 - 连接字符串无效)
如何正确连接到数据库?
答案 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.OracleConnection
或Oracle.ManagedDataAccess.Client.OracleConnection
看看这个答案,还可以看到其他可能性: How to connect to Oracle 11 database from . net
答案 3 :(得分:0)