2016-10-17 4 views
0

Я работаю над приложением с использованием Visual Studio 2013 и Access 2016, и я считаю, что все правильно подключено, но когда я пытаюсь отлаживать программу каждый раз, когда Предполагается, что в базе данных появится сообщение заголовка. Я загрузил много разных патчей, хотя у меня есть Access, загруженный на моей машине. Я также играл с использованием 12.0 и 15.0 в моей строке подключения, и никто из них не работал. Кто-нибудь есть что-то сказать, чтобы загрузить, чтобы показать, что я его загрузил? Я также добавлю свой класс управления базой данных, если есть проблема с тем, как я его написал.поставщик Microsoft.ACE.OLEDB16.0 не зарегистрирован на локальном компьютере

Imports System.Data.OleDb 
Public Class DBControl 
Private DBCon As New OleDbConnection("Provider=Microsoft.ACE.OLEDB12.0;Data Source=StableMe.accdb;") 
Private DBCmd As OleDbCommand 

Public DBDA As OleDbDataAdapter 
Public DBDT As DataTable 
Public params As New List(Of OleDbParameter) 
Public recordCt As Integer 
Public exception As String 

Public Sub ExecQuery(query As String) 
    recordCt = 0 
    exception = "" 

    Try 
     DBCon.Open() 
     DBCmd = New OleDbCommand(query, DBCon) 
     For Each p As OleDbParameter In params 
      DBCmd.Parameters.Add(p) 
     Next 
     params.Clear() 
     DBDT = New DataTable 
     DBDA = New OleDbDataAdapter(DBCmd) 
     recordCt = DBDA.Fill(DBDT) 
    Catch ex As Exception 
     exception = ex.Message 
    End Try 

    If DBCon.State = ConnectionState.Open Then 
     DBCon.Close() 
    End If 
End Sub 

Public Sub AddParams(name As String, value As Object) 
    Dim newParam As New OleDbParameter(name, value) 
    params.Add(newParam) 
End Sub 

End Class

+0

Вы можете увидеть установки поставщика при использовании трюка UDL: https://blogs.msdn.microsoft.com/farukcelik/2007/12/31/basics-first-udl-test/ , Является ли ваше приложение 32 или 64 бит>? –

+0

'Microsoft.ACE.OLEDB12.0' отсутствует период. Это должно быть 'Microsoft.ACE.OLEDB.12.0'. –

+0

Вот и все. Спасибо огромное! –

ответ

0

В строке соединения

Provider=Microsoft.ACE.OLEDB12.0 

не является допустимым именем поставщика, поскольку отсутствует период. Он должен быть

Provider=Microsoft.ACE.OLEDB.12.0 
Смежные вопросы