如何解决“ODBC连接失败”

时间:2013-07-15 13:21:55

标签: vb.net odbc ole

我的程序是“搜索员工”在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()

有人请帮帮我!!

1 个答案:

答案 0 :(得分:0)

除了Access文件的位置之外,上面的代码中没有任何特定于计算机的内容,但如果没有,则不会产生上述错误。所以我认为问题必须在你的.mdb数据库中,我怀疑问题是它包含链接到SQL Server的表,只有你机器上运行的代码才能到达。

我会通过使用Microsoft Access UI打开其他计算机上的访问数据库,打开Employee表并查看是否仍然出现错误来解决此问题。如果你这样做,你就会知道Access数据库是错误的,而不是你的代码。我想在这一点上没有在SQL Server Express上设置远程连接(请参阅here以了解如何启用远程连接),或者计算机上的某些防火墙规则阻止其他计算机连接到该实例SQL Server Express,我打开Windows防火墙并允许SQL Server Express正在侦听的端口上的入站流量,或者(更好)将SQL Server从本地计算机移动到专用开发服务器。