2016-09-19 11 views
0

Я пытаюсь заменить базу данных InterBase DB MS Access в качестве теста, я успешно подключаюсь к базе данных MS Access с помощью компонента TADOConnection; Однако, когда я пытаюсь подключиться к столу с помощью TADODataSet, я могу установить свойство соединения с компонентом TADOConnection, но когда я хочу установить свойство CommandText я получаю следующее сообщение об ошибке:Ошибка при использовании компонента TADODataset с MS Access

Error message

В connectionstring выглядит следующим образом: Provider=ADsDSOObject;User ID=admin;Encrypt Password=False;Data Source=C:\StudyTime\StudyTime.accdb;Mode=Read;Bind Flags=0;ADSI Flag=-2147483648;

Может кто-нибудь, пожалуйста, помогите мне?

+2

вы можете показать нам какой-нибудь код? А табличная схема таблицы в interbase и в ms-доступе? – GuidoG

+0

И почему вы хотите переместиться из базы данных клиент/сервер в базу данных рабочего стола? Звучит как большой шаг назад ко мне. – GuidoG

+0

Код не используется для этого процесса подключения, я знаю, что вы имеете в виду, сделав шаг назад. Я написал эту программу, чтобы помочь мне отслеживать время учебы, и я хочу поделиться ею со своими сокурсниками, которые не имеют доступа к серверу InterBase. Использование базы данных доступа MS выглядит как логическое решение. Схема таблицы очень проста. Существует 2 столбца, тип данных Subject_ID 'AutoNumber' и' Subject' типа 'Text'. Первичный ключ установлен в 'Subject_ID'. –

ответ

2

Ты используешь неправильный провайдер: ADsDSOObject для ms-access.

Используйте вместо этого Provider=Microsoft.Jet.OLEDB.4.0 или Provider=Microsoft.ACE.OLEDB.12.0;.

например.

MdbFileName := 'C:\StudyTime\StudyTime.accdb'; 
ADOConnection1.ConnectionString := Format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;', [MdbFileName]); 
ADOConnection1.Open;