我的程序是“搜索员工”在Visual Studio 2008中使用VB Web应用程序 我在Microsoft Access中使用数据库
我在我的电脑上编程它100%工作。但是当我将项目移动到其他计算机上传到服务器时,它有错误
ODBC - 与“SQL ServerWDT02418 \ SQLEXPRESS”的连接失败。
WDT02418是我的电脑名称。但我在其他计算机上运行该项目。
我像这样使用数据库连接
Function CountEmpData(ByVal EN As String, ByVal Area As String, ByVal Product_type As String) As Integer
Dim CounterEmpData As Integer
Try
Dim ole As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\PROJECT_WD\e-OJT_Project6\Database\Employee.mdb")
ole.Open()
Dim sqlCommand As String = "SELECT COUNT(*) AS 'Counter' FROM Employee WHERE (Emp_ID LIKE '%" + EN + "%') AND (Area LIKE '%" + Area + "%') AND (Product_Type LIKE '%" + Product_type + "%')"
Dim myCommand As New OleDbCommand(sqlCommand, ole)
Dim myReader As OleDbDataReader = myCommand.ExecuteReader()
While myReader.Read()
CounterEmpData = myReader.GetInt32(0)
End While
myReader.Close()
ole.Close()
Catch ex As Exception
End Try
Return CounterEmpData
End Function
它在行
处提醒错误Dim myReader As OleDbDataReader = myCommand.ExecuteReader()
有人请帮帮我!!
答案 0 :(得分:0)
除了Access文件的位置之外,上面的代码中没有任何特定于计算机的内容,但如果没有,则不会产生上述错误。所以我认为问题必须在你的.mdb数据库中,我怀疑问题是它包含链接到SQL Server的表,只有你机器上运行的代码才能到达。
我会通过使用Microsoft Access UI打开其他计算机上的访问数据库,打开Employee表并查看是否仍然出现错误来解决此问题。如果你这样做,你就会知道Access数据库是错误的,而不是你的代码。我想在这一点上没有在SQL Server Express上设置远程连接(请参阅here以了解如何启用远程连接),或者计算机上的某些防火墙规则阻止其他计算机连接到该实例SQL Server Express,我打开Windows防火墙并允许SQL Server Express正在侦听的端口上的入站流量,或者(更好)将SQL Server从本地计算机移动到专用开发服务器。