2014-02-25 2 views
0

정보를 전달하는 프로그램이있어서이를 데이터베이스에 저장합니다. Windows Ce 6.0 장치 용으로 VS2008에서 프로그램을 만들고 데이터베이스에 연결하는 데 문제가 있습니다. 로컬 네트워크를 통해 연결하려고하지만 그렇게하는 방법이 너무 명확하지는 않습니다. 다음은 데이터베이스를 호출하는 함수 코드입니다.SQL Server 데이터베이스에 연결할 때 'SqlException was unhandled'오류가 발생했습니다.

public void callSQL(string partNumber, int total, int numOfPacks, string dunsNumber, string serialNumber, string laneNumber) 
{ 
    //establish connection 
    string conString = "Data Source=10.97.2.67,1433;Initial Catalog=testing.mdf;User ID=**********;Persist Security Info=false"; 

    using (SqlConnection con = new System.Data.SqlClient.SqlConnection(conString)) 
    { 
     con.Open(); 

     try 
     { 
      //open the server 
      //Insert values passed into the method 
      SqlCommand myCommand = new SqlCommand("INSERT INTO test (Part_Number, total, number_of_packs, dunsNumber, serialNumber, truck_number) VALUES (@Part_Number,@total,@number_of_packs,@dunsNumber,@serialNumber,@truck_number)", con); 
      myCommand.Parameters.AddWithValue("@Part_Number", partNumber); 
      myCommand.Parameters.AddWithValue("@total", total); 
      myCommand.Parameters.AddWithValue("@number_of_packs", numOfPacks); 
      myCommand.Parameters.AddWithValue("@dunsNumber", dunsNumber); 
      myCommand.Parameters.AddWithValue("@serialNumber", serialNumber); 
      myCommand.Parameters.AddWithValue("@truck_number", laneNumber); 

      //execute the query 
      myCommand.ExecuteNonQuery(); 
      con.Close(); 
     } 
     catch (SqlException e) 
     { 
      string error = e.ToString(); 
      error = error.ToLower(); 

      if (error.Contains("duplicate") == true) 
      { 
       Console.WriteLine("You have already scanned this barcode."); 
      } 
     } 
    } 
} 

코드를 실행하면 코드가 con.Open(); 나는 여기에

SqlException was unhandled

을 말한다 오류가 오류의 정보입니다 얻을 :

System.Data.SqlClient.SqlException {"SqlException"}
[System.Data.SqlClient.SqlException] {"SqlException"}
{Systen.Data.SqlClient.SqlErrorCOllection}
LineNumber 0
Message "SqlException"
Number 17
Procedure "ConnectionOpen(Connect())."
Server "10.97.2.67,1433"
Source ".Net SqlClient Data Provider"
StackTrace
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, TdsParserState state)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, TdsParserState state)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Connect(String host, SqlInternalConnection connHandler, Int32 timeout)
at System.Data.SqlClient.SqlInternalConnection.OpenAndLogin()
at System.Data.SqlClient.SqlInternalConnection..ctor(SqlConnection connection, Hashtable connectionOptions)
at System.Data.SqlClient.SqlConnection.Open()
at scan.partObject.callSQL(String partNumber, Int32 total, Int32 numOfPacks, String dunsNumber, String serialNumber, String laneNumber)
at scan.Program.Main(String[] args)

감사 나에게

+0

초기 카탈로그에 .mdf가 없어야합니다. 그것은 단지 데이터베이스의 이름이어야합니다. 또한 catch 블록에 중단 점을 설정 한 다음 오류 콜렉션을 뚫고 자세한 정보를 얻으십시오. – BlackICE

+0

@BlackICE .mdf 없이도 똑같은 결과가 나옵니다. 또한 오류 수집을 시추함으로써 무엇을 의미합니까? – AlvinJ

+0

어떻게 그 IP 주소'10.97.2.67,1433' –

답변

0

연결 문자열로 인해 오류가 발생했습니다. 다음은 네트워크를 통해 SQL 서버에 연결하려는 경우 연결 문자열의 형식입니다.

Data Source=myServerAddress;Initial Catalog=myDataBase; Integrated Security=SSPI;User ID=myDomain\myUsername;Password=myPassword; 

myServerAddress는 SQL 속성에서 찾을 수 있습니다. 행운을 빕니다!

0

그것은 당신의 IP 주소 문제처럼 보인다. IP 주소를 확인하고 다시 연결하십시오.

IPv4 주소는 내가 1433을 제거한 다음 다시 시도 생각, 각

here 자세한 내용은 방문의 경우 0 ~ 255 사이 당신의 IP 주소는 "10.97.2.67,1433"4 도메인이 있어야합니다. IP 주소로 포트 번호를 사용하려면 IP 주소를 "10.97.2.67:1433"으로 변경하십시오. 바라기를 이것은 당신의 문제를 해결할 것입니다.

+0

IPv4 주소를 사용하고 있습니다. 다른 것을 사용하고 있습니까? 또한 도움이된다면 Microsoft SQL Server 2005를 사용하고 있습니다. – AlvinJ

+0

내 대답을 편집했습니다. 잘하면 도움이 될 것입니다. – fais

+0

', 1433'이 포트 번호였습니다. 일부 사람들이 사용하는 것을 보았 기 때문에 코드에 추가했습니다. 아직 제거했는데 여전히 같은 오류가 발생합니다. – AlvinJ

관련 문제