2012-06-22 3 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

프로그래밍 측면 노트 : 비싼 리소스의 범위를 지정하려면'using' 문을 사용하십시오. – bluevector

답변

1

글쎄, 당신이 얻고있는 오류는 실제로 저장 프로 시저와 관련이 없지만 "어떻게 해결할 수 있습니까?"라는 질문에 대답 할 수 있습니다. 당신이 받고있는 예외 상황에서.

먼저 SQL 서버에 대한 실제 연결 문자열로 "무언가"를 사용하지 않기를 바랍니다. 실제 연결 문자열을 사용해야합니다. 위의 URL에서 첫 번째 예제를 사용 http://www.connectionstrings.com/sql-server-2005

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

IP 주소 또는 호스트 이름에 "myServerAddress"를 변경할 수 있습니다 - 여기의 SQLServer에 연결하는 데 사용할 수있는 여러 가지 예입니다 서버. 이것은 "localhost"일 수도 있고 네트워크에있는 다른 컴퓨터 일 수도 있습니다. "myDataBase"를 작성한 데이터베이스의 이름으로 변경하고 대소 문자를 구분하도록 데이터베이스를 구성 할 수있는 이름과 정확히 일치하는지 확인하십시오. 마지막으로 "myUsername"및 "myPassword"를 Sql Server Management Studio에서 서버에 액세스하는 데 사용하는 계정의 사용자 및 암호로 변경합니다.

이제 위 내용을 실제로 수행했다면 다음과 같이 연결 문제를 디버그 할 수있는 몇 가지 단계를 수행하십시오.

  1. 핑 컴퓨터 -에서와 프롬프트 servername은 SQL Server를 실행하는 서버의 이름 또는 IP 주소입니다 "핑 (ping) 서버 이름을"명령. 서버로부터 응답을받지 못하면 로컬 네트워크를 디버깅해야합니다.

  2. 서버가 로컬로 실행중인 경우 "." "myServerAddress"값입니다. sqlserver express edition 인 경우 ". \ SQLExpress"또는 "myServerAddress \ SQLExpress"

  3. SQL Server가 다른 컴퓨터에서 실행중인 경우 "추가 정보"절에있는 세 개의 링크를 각각 다음과 같이 시도하십시오 kb article - http://support.microsoft.com/kb/914277 원격 연결이 지원되는지 확인합니다.

하지만 실제 문제는 데이터베이스에 연결할 수 없다는 것입니다. 먼저 해당 문제에 대한 솔루션을 검색하는 것이 좋습니다. 또는 다른 질문에서 SO에 대한 설정 정보를 여기에 입력하십시오. 도움이

희망, 봐봐

관련 문제