SqlConnection.Open 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Open() |
使用由 ConnectionString 指定的属性设置打开一个数据库连接。 |
Open(SqlConnectionOverrides) |
使用由 ConnectionString 指定的属性设置打开一个数据库连接。 |
Open()
使用由 ConnectionString 指定的属性设置打开一个数据库连接。
public:
override void Open();
public override void Open ();
override this.Open : unit -> unit
Public Overrides Sub Open ()
例外
打开连接时出现的连接级别错误。 如果 Number 属性包含值 18487 或 18488,这表明指定的密码已过期或必须重置。 有关更多信息,请参阅 ChangePassword(String, String) 方法。
App.config 文件中的 <system.data.localdb>
标记具有无效或未知元素。
<localdbinstances>
部分中有两个具有相同名称的条目。
示例
以下示例创建 一个 SqlConnection,打开它,并显示其一些属性。 连接在块的 using
末尾自动关闭。
using Microsoft.Data.SqlClient;
class Program1
{
static void Main()
{
string s = GetConnectionString();
OpenSqlConnection(s);
Console.ReadLine();
}
private static void OpenSqlConnection(string connectionString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
Console.WriteLine("State: {0}", connection.State);
}
}
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file, using the
// System.Configuration.ConfigurationSettings.AppSettings property
return "Data Source=(local);Initial Catalog=AdventureWorks;"
+ "Integrated Security=SSPI;";
}
}
注解
如果连接池可用,则会 SqlConnection 从连接池中绘制一个打开的连接。 否则,它会建立与 SQL Server 实例的新连接。
注意
SqlConnection如果 超出范围,则不会关闭。 因此,必须通过调用 Close显式关闭连接。
注意
如果在尝试连接到 SQL Server 实例并使用 TCP/IP 以外的协议时指定了除 1433 之外的端口号,则Open该方法将失败。 若要指定除 1433 以外的端口号,请在连接字符串中包含“server=machinename,端口号”,并使用 TCP/IP 协议。
注意
.NET Framework data Provider for SQL Server 需要启用“允许调用非托管程序集”的安全权限, (SecurityPermissionSecurityPermissionFlag设置为 UnmanagedCode
) 才能打开SqlConnection启用了 SQL 调试的 。
适用于
Open(SqlConnectionOverrides)
使用由 ConnectionString 指定的属性设置打开一个数据库连接。
public:
void Open(Microsoft::Data::SqlClient::SqlConnectionOverrides overrides);
public void Open (Microsoft.Data.SqlClient.SqlConnectionOverrides overrides);
override this.Open : Microsoft.Data.SqlClient.SqlConnectionOverrides -> unit
Public Sub Open (overrides As SqlConnectionOverrides)
参数
- overrides
- SqlConnectionOverrides
用于替代默认连接打开行为的选项。
例外
打开连接时出现的连接级别错误。 如果 Number 属性包含值 18487 或 18488,这表明指定的密码已过期或必须重置。 有关更多信息,请参阅 ChangePassword(String, String) 方法。
App.config 文件中的 <system.data.localdb>
标记具有无效或未知元素。
<localdbinstances>
部分中有两个具有相同名称的条目。
示例
以下示例创建 一个 SqlConnection,打开它,并显示其一些属性。 连接在块的 using
末尾自动关闭。
using Microsoft.Data.SqlClient;
class Program1
{
static void Main()
{
string s = GetConnectionString();
OpenSqlConnection(s);
Console.ReadLine();
}
private static void OpenSqlConnection(string connectionString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
Console.WriteLine("State: {0}", connection.State);
}
}
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file, using the
// System.Configuration.ConfigurationSettings.AppSettings property
return "Data Source=(local);Initial Catalog=AdventureWorks;"
+ "Integrated Security=SSPI;";
}
}
注解
如果连接池可用,则会 SqlConnection 从连接池中绘制一个打开的连接。 否则,它会建立与 SQL Server 实例的新连接。 如果指定了替代,则第一次打开尝试将对打开操作应用指定的替代。
注意
SqlConnection如果 超出范围,则不会关闭。 因此,必须通过调用 Close显式关闭连接。
注意
如果在尝试连接到 SQL Server 实例并使用 TCP/IP 以外的协议时指定了除 1433 之外的端口号,则Open该方法将失败。 若要指定除 1433 以外的端口号,请在连接字符串中包含“server=machinename,端口号”,并使用 TCP/IP 协议。
注意
.NET Framework data Provider for SQL Server 需要启用“允许调用非托管程序集”的安全权限, (SecurityPermissionSecurityPermissionFlag设置为 UnmanagedCode
) 才能打开SqlConnection启用了 SQL 调试的 。