Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从.NET连接到Oracle DB?_C#_.net_Oracle_Web Config_Connection String - Fatal编程技术网

C# 如何从.NET连接到Oracle DB?

C# 如何从.NET连接到Oracle DB?,c#,.net,oracle,web-config,connection-string,C#,.net,Oracle,Web Config,Connection String,当我打开SQL命令行时,我写入connectusername/password@[/]host[:port][/service\u name],它将我连接到数据库。但是,我无法使用连接字符串从.NET项目进行连接。我试过很多方法,比如和,但到目前为止都没有效果。每当我到达sconn.Open()如下所示: var CurrentConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Conne

当我打开SQL命令行时,我写入
connectusername/password@[/]host[:port][/service\u name]
,它将我连接到数据库。但是,我无法使用连接字符串从.NET项目进行连接。我试过很多方法,比如
,但到目前为止都没有效果。每当我到达
sconn.Open()如下所示:

var CurrentConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sconn = new SqlConnection(CurrentConnectionString);
sconn.Open();
我几乎总是会遇到以下错误:

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


如何正确连接到数据库?

您可以始终使用EF,并使用create one
ADO.Net实体数据模型

并使用向导创建和测试连接


尝试以下连接字符串

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
 }

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

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

看看这个答案,看看其他的可能性:

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

或实体框架:

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

Oracle提供了大量文档。从这里开始:

可以将服务器配置为不允许远程连接到。在所有主要的RDBMS服务器中,MSSQL、PostgreSQL、MySql和我想象中的Oracle都是这样。如果不允许远程连接,则即使您的连接字符串正确,也无法访问它。
OracleException:无法分配Oracle环境。
在.NET标准类库中使用时