2013-07-15 49 views
0

我的節目是「搜索僱員」使用VB web應用程序,我使用的數據庫在Microsoft Access如何解決「ODBC連接失敗」在Visual Studio 2008

我編程,它在我的電腦工作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

SQL Express默認不支持來自另一臺機器的連接。沒關係,當你重新啓動或關閉你的開發機器時,你可能不希望你的網站死掉。解決方法很明顯,將dbase移動到該服務器。 –

回答

0

上面的代碼中除了Access文件的位置外沒有任何計算機特定的內容,但缺少那樣不會產生上述錯誤。所以我認爲這個問題必須存在於你的.mdb數據庫中,我懷疑這個問題是它包含了鏈接到SQL Server的表,只有你的機器上運行的代碼可以訪問這些表。

我會通過使用Microsoft Access用戶界面在其他計算機之一上打開訪問數據庫,打開Employee表並查看是否仍然出現錯誤來解決此問題。如果你這樣做,你會知道它是錯誤的Access數據庫,而不是你的代碼。我猜想在這一點上遠程連接不是在SQL Server Express上設置的(請參閱here以瞭解如何啓用遠程連接),或者計算機上的某些防火牆規則阻止其他計算機連接到SQL Server Express實例,所以我打開Windows防火牆並允許SQL Server Express偵聽的端口上的入站流量,或者(更好地)將SQL Server從本地機器移動到專用的開發服務器。

+0

我將SQL Server Express和防火牆設置爲您附加的鏈接。但它不起作用。 –

+0

也許您的網絡管理員設置了防火牆,但不能被您的計算機覆蓋。可能最好與誰提供硬件來查看是否可以獲得開發SQL Server。 –

相關問題