SQL Server(和许多其他)连接字符串的一个非常好的来源是http://www.connectionstrings.com/sql-server/。根据您是通过 ODBC、OLE DB 还是 Native Client 连接,您必须选择另一个连接字符串。
尝试
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
或者
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
有很多选项可供选择,具体取决于确切的 SQL Server 版本、安全类型等等。
更新
首先,您必须选择一种数据访问技术。
SQL Server 的 .NET Framework 数据提供程序( SqlConnection
),是从 .NET 代码访问 SQL Server 的首选方式。(请参阅何时使用 SQL Native Client进行比较)
Native Client : 是访问 SQL Server 的一种非常快速的方式并支持新功能,因为它直接访问 SQL Server TDS 协议并适用于非 .NET 代码。它应该是非 .NET 代码的首选。
ODBC:相对较快并且兼容许多不同的数据库。如果数据库类型将来可能会发生变化,或者您正在访问“外来”数据库,请选择此选项。
OLEDB:对于 SQL Server,它相对较慢,会被微软贬值。
然后您必须在SQL Server Authentication (User/Password) 和Windows Authentication之间进行选择。如果可能,我会选择后者。使用 Windows 身份验证,SQL-Server 假定如果您成功登录到 Windows,您是受信任的用户。然后,Windows 用户名将 1 对 1 映射到 SQL-Server 用户。当然,这个用户必须仍然被授予他将在 SQL Server 上执行的操作(如 SELECT、INSERT、UPDATE、DELETE)所请求的权限。如果 DBA 没有安装 Windows 身份验证,则必须使用 uid/pwd。
这对我有用:
string connectionString =
"Data Source=192.168.123.45;Initial Catalog=MyDatabase;Integrated Security=SSPI;";
using (SqlConnection connection = new SqlConnection(connectionString)) {
using (SqlCommand command = new SqlCommand(
"SELECT Region FROM dbo.tlkpRegion WHERE RegionID=30", connection)) {
connection.Open();
string result = (string)command.ExecuteScalar();
MessageBox.Show("Region = " + result);
}
}