2012-06-22 5 views
-7

Я использую следующую функцию для вставки значения в базу данных через хранимую процедуру. Но у меня есть исключение в sqlConnection.Open(). Как это решить?Сохраненная процедура в sql server 2005

try 
     { 
      string dbConnectionString = "something"; 
      SqlConnection sqlConnection = new SqlConnection(dbConnectionString); 
      SqlCommand command = new SqlCommand("sp_Test", sqlConnection); 
      command.CommandType = CommandType.StoredProcedure; 
      command.Parameters.AddWithValue("@id ", SqlDbType.Int).Value = TextBox1.Text; 
      command.Parameters.AddWithValue("@FullName", SqlDbType.VarChar).Value = TextBox2.Text; 
      sqlConnection.Open(); 
      command.ExecuteNonQuery(); 
      sqlConnection.Close(); 
     } 
     catch (SqlException ex) 
     { 
      Console.WriteLine("SQL Error" + ex.Message.ToString()); 

     } 
+9

Вы не объяснили, что исключение. – Dai

+0

Какое исключение вы получаете? Вы уверены, что фактическая строка подключения верна (правильный сервер, правильные учетные данные)? – freefaller

+1

В качестве примечания к программированию: используйте инструкцию 'use' для охвата ваших дорогостоящих ресурсов. – bluevector

ответ

1

Ну, ошибка вы получаете на самом деле не имеет ничего общего с хранимыми процедурами, но я могу ответить на вопрос о том, «как решить эту проблему?» в контексте исключения, которое вы получаете.

Во-первых, я надеюсь, что вы не используете «что-то» в качестве фактической строки подключения к вашему серверу sql. Вы должны использовать реальную строку соединения. Вот некоторые различные примеры, которые можно использовать для подключения к SQLServer - http://www.connectionstrings.com/sql-server-2005

Используя первый пример из приведенного выше URL

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; 

Вы хотите изменить «myServerAddress» по адресу внутрибрюшинно или имя хоста сервер. Это может быть «localhost», или это может быть другой компьютер, который у вас есть в сети. Измените «myDataBase» на имя созданной вами базы данных и убедитесь, что имя совпадает с тем, что база данных может быть настроена с учетом чувствительности к регистру. И, наконец, измените «myUsername» и «myPassword» на пользователя и пароль учетной записи, которую вы используете для доступа к серверу под Sql Server Management Studio.

Теперь, предположим, что вы действительно сделали это, выполните следующие действия, чтобы выполнить отладки проблем подключения.

  1. Ping компьютер - из командной строки и введите «пинг имя_сервера», где имя_сервера является имя или IP-адрес сервера, на котором выполняется SQL Server. Если вы не получите ответ от сервера, вам необходимо отладить свою локальную сеть.

  2. Если сервер работает локально, попробуйте использовать «.». для значения myServerAddress. Если это экспресс-версия sqlserver, используйте экспресс-формат - «. \ SQLExpress» или «myServerAddress \ SQLExpress»

  3. Если SQL Server работает на другом компьютере, попробуйте каждую из трех ссылок в разделе «Дополнительная информация» из этого kb article - http://support.microsoft.com/kb/914277 Это обеспечит поддержку удаленных соединений.

Но реальная проблема заключается в том, что вы не можете подключиться к базе данных. Я рекомендую сначала искать решения этой проблемы. Или, может быть, предоставить дополнительную информацию о вашей настройке здесь на SO в другом вопросе.

Надежда, что помогает, -Marcus

Смежные вопросы