无法接受数据库的服务器名称
本文关键字:服务器 数据库 | 更新日期: 2023-09-27 18:26:17
我正试图使用asp.net中的sql
连接到我的数据库,但无法连接。它显示服务器名称有一个错误,因为下面代码中服务器名称上有斜杠,但这是我的实际服务器名称。我该如何解决这个问题?我正在使用C#
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Server=ALLOOLATY'JASMINE;Integrated Security=SSPI;Database=toys;");
try
{
conn.Open();
SqlCommand comm = new SqlCommand("SELECT name, id FROM product1", conn);
SqlDataReader reader = comm.ExecuteReader();
while (reader.Read())
{
employeesLabel.Text += reader["name"] + "<br />";
}
reader.Close();
}
反斜杠字符'
是一个特殊字符,如果您想在字符串中使用它,则需要像''
一样转义:
"Server=ALLOOLATY''JASMINE;Integrated Security=SSPI;Database=toys;"
或者,您可以在整个字符串前面加上@
:,使其成为文字
@"Server=ALLOOLATY'JASMINE;Integrated Security=SSPI;Database=toys;"
此外,这看起来不像是一个有效的连接字符串。试试这个:
@"Data Source=ALLOOLATY'JASMINE;Initial Catalog=toys;Integrated Security=True"
不要在代码中存储连接字符串。移动数据库服务器需要进行代码更新和部署。将连接字符串存储在web.config中。请参阅如何:从web.config文件读取连接字符串。我还鼓励通过SqlConnectionStringBuilder
路由配置的连接字符串以进行清理。
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder(
connectionStrings.ConnectionStrings["MyConnectionString"]);
using (SqlConnection conn = new SqlConnection(scsb.ConnectionString);
{
conn.Open();
using (SqlCommand comm = new SqlCommand("SELECT name, id FROM product1", conn))
{
using (SqlDataReader reader = comm.ExecuteReader())
{
while (reader.Read())
{
...
}
}
}
}
只需在服务器名称中使用双斜线代替单斜线:
SqlConnection conn = new SqlConnection("Server=ALLOOLATY''JASMINE;Integrated Security=SSPI;Database=toys;");