[英]SQL connection c#
我有一个标准的本地Oracle数据库,可以通过使用以下命令与sqldeveloper连接:
username = system
password = orcl
hostname = localhost
port = 1521
SID = ORCL
但是当我试图在代码中做到这一点时
try
{
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.DataSource = "localhost";
builder.InitialCatalog = "HR_ORCL";
builder.UserID = "system";
builder.Password = "orcl";
string connectionString = "Server=(local);Database=HR_ORCL;User ID=system;Password=orcl";
using (SqlConnection connection = new SqlConnection())
{
connection.ConnectionString = builder.ConnectionString;
connection.Open();
Console.WriteLine("State: {0}", connection.State);
Console.WriteLine("ConnectionString: {0}",
connection.ConnectionString);
}
}
catch(Exception error)
{
System.Console.WriteLine(error.Message);
}
我遇到错误
“提供者:命名管道提供者,错误:40-无法打开与SQL Server的连接”
我究竟做错了什么 ?
SqlConnection
是一种ADO.NET类型,专门用于SQL Server。 它不适用于其他RDBMS。
如果要连接到Oracle数据库,则需要使用类似System.Data.OracleClient.OracleConnection
(以及Oracle样式的连接字符串)之类的东西。
注意:虽然.NET框架包含适用于Oracle的ADO.NET类型,但这些类型可能已过时(或至少不如它们所具有的那样高效且功能完整),建议您从Oracle下载并安装单独的驱动程序。
安装完成后,您需要添加程序集Oracle.DataAccess.dll的引用。
然后您可以像这样使用它:
using System;
using Oracle.DataAccess.Client;
class MyClass
{
OracleConnection con;
void Connect()
{
con = new OracleConnection();
con.ConnectionString = "yourconnectionstring";
con.Open();
}
void Close()
{
con.Close();
con.Dispose();
}
static void Main()
{
//some code
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.