尝试连接到SQL Server数据库时出现“SqlException未处理”错误

时间:2014-02-25 15:46:56

标签: c# sql sql-server visual-studio-2008 windows-ce

我有一个程序,它接收传递给它的信息,并将信息放入数据库中。该程序是在VS2008中为Windows Ce 6.0设备创建的,我无法连接到数据库。我想通过本地网络连接,但不完全确定如何这样做。这是我调用数据库的函数的代码。

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未处理

以下是错误信息:

  

System.Data.SqlClient.SqlException {“SqlException”}
  [System.Data.SqlClient.SqlException] {“SqlException”}
  {} Systen.Data.SqlClient.SqlErrorCOllection
  LineNumber 0
  消息“SqlException”
  第17号   过程“ConnectionOpen(Connect())。”
  服务器“10.97.2.67,1433”
  来源“.Net SqlClient数据提供者”
  堆栈跟踪
  在System.Data.SqlClient.SqlConnection.OnError(SqlException异常,TdsParserState状态)
  在System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,TdsParserState状态)
  在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
  在System.Data.SqlClient.TdsParser.Connect(String host,SqlInternalConnection connHandler,Int32 timeout)
  在System.Data.SqlClient.SqlInternalConnection.OpenAndLogin()
  在System.Data.SqlClient.SqlInternalConnection..ctor(SqlConnection连接,Hashtable connectionOptions)
  在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)

由于

2 个答案:

答案 0 :(得分:0)

对我来说,它看起来像是你的IP地址问题。检查您的IP地址并尝试重新连接。

IPv4地址应该有4个域,每个域在0到255之间。有关详细信息,请访问here

您的IP地址是“10.97.2.67,1433”,我想删除1433,然后再试一次。 要将端口号与您的IP地址一起使用,请将您的IP地址更改为“10.97.2.67:1433”。希望这将解决您的问题。

答案 1 :(得分:0)

由于连接字符串,这是一个错误。如果要通过网络连接到SQL Server,则以下是连接字符串的格式。

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

可以在SQL属性上找到myServerAddress。祝你好运!