C# 如何从.NET连接到Oracle DB?
当我打开SQL命令行时,我写入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
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 oneADO.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标准类库中使用时