Ошибка «Не удалось найти устанавливаемый ISAM» в VB.NET - PullRequest
1 голос
/ 18 ноября 2011

Я новичок в Visual Basic .. Я хотел бы спросить, как исправить проблему "Не удалось найти устанавливаемый ISAM." Я использовал Visual Basic в качестве языка программирования. Я использовал MS доступ в качестве базы данных. Моя программа для получения данных из доступа. Это был бы мой код.

Imports System.Data.OleDb

Module Main
Dim mDataPath As String

Sub Main()
    GetPupils()
    Console.ReadLine()

End Sub
Private Function GetConnection() As OleDb.OleDbConnection
    'return a new connection to the database5

    Return New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" _
     & "Database Password=oNer00FooR3n0 " & "Data Source=" & "C:\Users\ERICO YAN\Desktop\MSaccessDB\MSaccessDB\oneroofccp.mdb")
End Function


Public Function GetPupils() As DataSet
    Dim conn As OleDb.OleDbConnection = GetConnection()
    Try
        Dim ds As New DataSet  'temporary storage
        Dim sql As String = "select * from SESSIONS" 'query
        Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sql, conn) 'connection

        Try
            da.Fill(ds, "SESSIONS") 'fetch data from db
        Finally
            da.Dispose()    'in case something goes wrong
        End Try

        Dim startVal = 0 'first record
        Dim endVal = ds.Tables(0).Rows.Count 'total number records

        For var = startVal To endVal - 1 'display records
            Console.WriteLine(ds.Tables(0).Rows(var).Item(0).ToString() + " " + ds.Tables(0).Rows(var).Item(1).ToString() + " " + ds.Tables(0).Rows(var).Item(3).ToString() + " " + ds.Tables(0).Rows(var).Item(3).ToString())  'code for display id and name
        Next


        Return ds

    Finally
        conn.Close()
        conn.Dispose()
    End Try

End Function
End Module

Я хотел бы знать, что является причиной ошибки, чтобы я мог перейти к моей программе .. Большое спасибо за отзыв ..

Ответы [ 3 ]

1 голос
/ 18 ноября 2011

У вас, похоже, отсутствует разделитель после вашего атрибута пароля.

Я думаю, что вам также нужно использовать Jet OLEDB:Database Password=... (если у вас есть база данных доступа, защищенная паролем):

"Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & "C:\Users\ERICO YAN\Desktop\MSaccessDB\MSaccessDB\oneroofccp.mdb;" _
& "Jet OLEDB:Database Password=oNer00FooR3n0;"
0 голосов
/ 12 ноября 2013

Изначально я тоже получил такую ​​ошибку, но когда я записал строку подключения в одну строку (я имею в виду, не используя [& _] или не разбивая в 2 строки, тогда это работало правильно.

"Поставщик = Microsoft.Jet.OLEDB.4.0; Источник данных = C: \ Users \ USER1 \ Desktop \ MSaccessDB \ MSaccessDB \ my_database_file.mdb; Пароль базы данных = MyPassword"

Надеюсь, это поможет.

Мукеш Л.

0 голосов
/ 18 ноября 2011

Отсутствует ; разделитель здесь:

...Password=oNer00FooR3n0 " & "Data Sourc...

Должен быть

...Password=oNer00FooR3n0 " & ";Data Sourc...

Также просто Password вместо Database Password.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...