2015-12-10 8 views
1

Я пытаюсь подключиться к своей базе данных, используя sql в asp.net, но я не мог. Это показывает мне, что есть ошибка в имени сервера из-за косой черты имени сервера в приведенном ниже коде, но это мое фактическое имя сервера. Как я могу решить эту проблему? Я использую 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(); 
} 
+0

Используйте '\\' и Integrated Security = True в строке подключения. – RajeeshMenoth

+0

Никогда не перекодируйте строку подключения. Используйте 'SqlConnectionStringBuilder', чтобы получить допустимую строку подключения. –

+0

Также поместите соединительную строку в файл конфигурации и закрепите ее, если потребуется. –

ответ

2

Символ обратной косой черты \ это специальный символ, который вам нужно бежать как \\, если вы хотите использовать его буквально в строке:

"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" 
+0

он по-прежнему показывает ту же ошибку, что и косая черта \ между ALLOOLATY и/JASMINE –

+0

См. Мой обновленный ответ. –

0

Просто используйте двойной слэш в месте одной косой черты в имени сервера:

SqlConnection conn = new SqlConnection("Server=ALLOOLATY\\JASMINE;Integrated Security=SSPI;Database=toys;"); 
+0

Почему вы добавили это большое пространство между «Интегрировано» и «Безопасность»? –

+0

Я только что отредактировал это пространство @roryap :) – RajeeshMenoth

1

Не храните строки подключения в коде. Для перемещения сервера БД потребуется обновление и развертывание кода. Сохраните строки подключения в файле web.config. См. How to: Read Connection Strings from the Web.config File. Я также рекомендую маршрутизировать сконфигурированную строку подключения через 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()) 
       { 
        ... 
       } 
      } 
     } 
    } 
Смежные вопросы