无法接受数据库的服务器名称

本文关键字:服务器 数据库 | 更新日期: 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;");