我有一个程序,它接收传递给它的信息,并将信息放入数据库中。该程序是在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)
由于
答案 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。祝你好运!