C# ';SqlException未处理';尝试连接到SQL Server数据库时出错
我有一个程序,它接收传递给它的信息,并将信息放入数据库。该程序是在VS2008中为Windows Ce 6.0设备创建的,我无法连接到数据库。我想通过本地网络连接,但不太确定如何连接。下面是调用数据库的函数的代码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
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