ASP.NET: исключение «Не удалось найти устанавливаемый ISAM» при попытке чтения файла dBASE IV - PullRequest
0 голосов
/ 27 августа 2010

Мне нужно открыть и прочитать файл Dbase в моем приложении ASP.NET. Когда я пытаюсь открыть соединение, я получаю исключение «Не удалось найти устанавливаемый ISAM». Я попробовал решения в верхнем ответе на этот вопрос , но у меня они не сработали.

Путь к файлу данных: C: \ dev \ DATA.DBF. Вот код, который я использую, чтобы попытаться открыть соединение:

Dim connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\dev\DATA.DBF;Extended Properties=dBASE IV;"
Dim connection As OleDbConnection = New OleDbConnection(connectionString)
connection.Open()

В этот момент я получаю исключение "Не удалось найти устанавливаемый ISAM". У вас есть идеи, что я могу попытаться заставить это работать? Обратите внимание, что я могу импортировать этот файл в базу данных Access как файл dBASE IV.

Я использую Visual Studio 2008 на Windows 7. Дайте мне знать, если вам нужна дополнительная информация. Спасибо за вашу помощь.

1 Ответ

3 голосов
/ 31 августа 2010

Я нашел решение этой проблемы.Я использовал технику, описанную в этом посте .

Я использую соединение ODBC вместо соединения OLE.Вот код:

Dim connectionString = "Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;SourceDB=C:\dev;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;"
Dim connection As OdbcConnection = New OdbcConnnection(connectionString)
Dim command As OdbcCommand = New OdbcCommand("SELECT * FROM C:\dev\DATA.DBF", connection)
connection.Open()
Dim reader As OdbcDataReader = command.ExecuteReader()
connection.Close()

Обратите внимание, что имя каталога файла DBF находится в строке подключения, а полный путь к файлу DBF - в операторе выбора.Я просто следовал соглашению в связанном посте, и он работал для меня.

...