2015-12-03 4 views
0

Я пытаюсь открыть соединение ADODB к Access 2010 базы данных:«Не удалось найти устанавливаемый ISAM» после добавления «IMEX = 1» в строку соединения

public void openConnection() 
    { 
     conn = new ADODB.Connection(); 
     string dbPath = @"T:\somePath\sigilDB.accdb"; 

     string connString=string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"IMEX=1\"",dbPath); 
     conn.Open(connString); 
    } 

conn.Open() вызова дает мне ошибку:

Could not find installable ISAM 

Это началось, когда я добавил Extended Properties=\"IMEX=1\" в строке подключения, так что типы смешанных данных в столбцах будут читаться как строки. Есть ли другой способ, который должен добавить этот параметр в строку подключения?

+0

Nt обязательно, если это необходимо, но вы не имеете конца ';' от конца. – DavidG

+1

Я только видел свойство 'IMEX' в отношении соединений Excel. При чтении из базы данных Access не существует «смешанных типов данных» для данного столбца, поскольку определения столбцов таблицы управляют «типом» возвращаемых данных. –

+0

@GordThompson, я думаю, что это адекватное объяснение для публикации в качестве ответа. – sigil

ответ

2

Насколько я могу судить, IMEX просто не является одним из расширенных свойств для провайдера ACE.

В этом случае это не обязательно; до сих пор мое тестирование подтверждает, что смешанные типы данных обрабатываются правильно при запросе из Access с использованием ADODB.

РЕДАКТИРОВАТЬ: только что заметил комментарий Горда Томпсона, указывающий на то же.

Смежные вопросы