Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ';SqlException未处理';尝试连接到SQL Server数据库时出错_C#_Sql_Sql Server_Visual Studio 2008_Windows Ce - Fatal编程技术网

C# ';SqlException未处理';尝试连接到SQL Server数据库时出错

C# ';SqlException未处理';尝试连接到SQL Server数据库时出错,c#,sql,sql-server,visual-studio-2008,windows-ce,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

我有一个程序,它接收传递给它的信息,并将信息放入数据库。该程序是在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}
行号0
消息“SqlException”
17号
过程“连接打开(连接())。”
服务器“10.97.2.671433”
源“.Net SqlClient数据提供程序”
StackTrace
位于System.Data.SqlClient.SqlConnection.OneError(SqlException异常,TdsParserState)
位于System.Data.SqlClient.SqlInternalConnection.OneError(SqlException异常,TdsParserState)
在System.Data.SqlClient.TdsParser.throweexception和warning()上 在System.Data.SqlClient.TdsParser.Connect(字符串主机,SqlInternalConnection connHandler,Int32超时)
位于System.Data.SqlClient.SqlInternalConnection.OpenAndLogin()
位于System.Data.SqlClient.SqlInternalConnection..ctor(SqlConnection连接,哈希表连接选项)
位于System.Data.SqlClient.SqlConnection.Open()
在scan.partObject.callSQL(String partNumber、Int32 total、Int32 numofacks、String dunsumber、String serialNumber、String laneNumber)
at scan.Program.Main(字符串[]args)


谢谢

我觉得你的IP地址有问题。请检查您的IP地址,然后再次尝试连接

IPv4地址应该有4个域,每个域在0到255之间。详情请浏览

您的IP地址是“10.97.2.671433”,我想请删除1433,然后重试。
要在IP地址中使用端口号,请将IP地址更改为“10.97.2.67:1433”。希望这能解决你的问题

这是由于连接字符串导致的错误。如果要通过网络连接到SQL server,则连接字符串应采用以下格式

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

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

初始目录上可能不应该有.mdf。它应该只是数据库的名称。还可以尝试在catch块中设置断点,然后钻取errors集合以获得更多详细信息。@BlackICE即使没有.mdf,我也会得到完全相同的结果。另外,你钻取错误集合是什么意思?你如何获得IP地址
10.97.2.671433
@RajeshDhiman ipconfig,我使用了IPv4地址。我尝试使用在SQL server上找到的ip地址,但我的设备无法ping到该地址,因此我求助于IPv4地址。请尝试从您的ip地址中删除
、1433
,并从数据库名称中删除.mdf。我正在使用IPv4地址,是否应该使用其他地址?如果有帮助的话,我正在使用Microsoft SQL server 2005,'1433'是端口号,我看到一些人在使用它,所以我将它添加到我的代码中。我删除了它,但仍然出现相同的错误。端口号应与“:”一起使用,而不是逗号。将您的IP地址更改为10.97.2.67:1433