如何设置SQL Server连接string?
我正在开发一个简单的C#应用程序,我想知道这一点:当我连接我的应用程序到我的电脑上的SQL Server,我知道连接string(服务器名称,密码等),但是当我连接到另一个PC,SQL Server连接string是不同的。 SQL Server中是否有可以连接的默认帐户的常见帐户? 我听说过SQL Server中的sa
帐户,什么是sa
?
// .NET DataProvider – 使用用户名和密码的标准连接
using System.Data.SqlClient; SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=ServerName;" + "Initial Catalog=DataBaseName;" + "User id=UserName;" + "Password=Secret;"; conn.Open();
// .NET DataProvider – 可信连接
SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=ServerName;" + "Initial Catalog=DataBaseName;" + "Integrated Security=SSPI;"; conn.Open();
一个非常好的资源是ConnectionString.com ,在这里你不仅可以findSQL Server连接string,还可以find许多其他的数据库连接string。
当连接到另一台计算机上的SQL Server时,它们是一些需要担心的事情。
- 主机/ IP地址的机器
- 初始目录(数据库名称)
- 有效的用户名/密码
通常SQL服务器可能会作为默认实例运行,这意味着您可以简单地指定主机名/ IP地址,但是您可能会遇到作为命名实例(例如Sql Express)运行的场景。 在这种情况下,您将不得不指定主机名\实例名称。
您需要了解数据库服务器或DBA不会希望只有任何人能够连接或修改服务器的内容。 这是安全帐户的全部目的。 如果一个用户名/密码可以在任何机器上运行,它将不提供任何保护。 你听说过的那个“sa”的东西,不适用于SQL Server 2005,2008或2012.虽然不知道以前的版本。 我相信在SQL Server早期的某个地方,默认的用户名和密码曾经是sa / sa,但不再是这种情况。
仅供参考,数据库安全和angular色现在是一天更复杂。 您可能需要查看基于Windows的身份validation的详细信息。 如果你的SQL Serverconfiguration了它,你不需要连接string中的任何用户名/密码来连接它。 所有你需要改变的是服务器的机器名称和相同的连接string将适用于你的两台机器,因为两者有相同的数据库名称当然。
.NET数据提供程序 – 默认相对path – 标准连接
using System.Data.SqlClient; var conn = new SqlConnection(); conn.ConnectionString = "Data Source=.\SQLExpress;" + "User Instance=true;" + "User Id=UserName;" + "Password=Secret;" + "AttachDbFilename=|DataDirectory|DataBaseName.mdf;"conn.Open();
.NET数据提供程序 – 默认相对path – 可信连接
using System.Data.SqlClient; var conn = new SqlConnection(); conn.ConnectionString = "Data Source=.\SQLExpress;" + "User Instance=true;" + "Integrated Security=true;" + "AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();
.NET数据提供程序 – 自定义相对path – 标准连接
using System.Data.SqlClient; AppDomain.CurrentDomain.SetData( "DataDirectory", "C:\MyPath\"); var conn = new SqlConnection(); conn.ConnectionString = "Data Source=.\SQLExpress;" + "User Instance=true;" + "User Id=UserName;" + "Password=Secret;" + "AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();
.NET数据提供程序 – 自定义相对path – 可信连接
using System.Data.SqlClient; AppDomain.CurrentDomain.SetData( "DataDirectory", "C:\MyPath\"); var conn = new SqlConnection(); conn.ConnectionString = "Data Source=.\SQLExpress;" + "User Instance=true;" + "Integrated Security=true;" + "AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();
您可以使用Windows身份validation,如果您的服务器在域中,或者使用Sqlvalidation。 Sa – 是一个系统pipe理员,SQL服务器authentication的根帐户。 但是,如果用来连接你的客户,这是不好的做法。 您应该创build自己的帐户,并使用它们连接到您的SQL。 在每个连接中,您都要设置帐户login名 , 密码以及默认数据库 。