![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Версия Microsoft Jet OLE DB [D7, MS Access]
Elshad © (2002-12-25 14:53:00)Уважаемые Мастера, Подскажите как мне можно програмно определить версию Microsoft Jet OLE DB т.е. какая версия 4.0 или 3.51?
Заранее благодарен.
Elshad (2002-12-27 15:50:00) [1]Огромное спасибо за идею <sniknik>!!!
Прямо перед функцией PromptDataSource наткнулся на GetProviderNames- что и надо было...
sniknik (2002-12-27 15:22:00) [2]исходник функции PromptDataSource получен элементарным выдиранием из модуля ADODB и мыслей никаких не надо, разберись как работает получиш результат.
function PromptDataSource(ParentHandle: THandle; InitialString: WideString): WideString;
var
DataInit: IDataInitialize;
DBPrompt: IDBPromptInitialize;
DataSource: IUnknown;
InitStr: PWideChar;
begin
Result := InitialString;
DataInit := CreateComObject(CLSID_DataLinks) as IDataInitialize;
if InitialString <> "" then
DataInit.GetDataSource(nil, CLSCTX_INPROC_SERVER,
PWideChar(InitialString), IUnknown, DataSource);
DBPrompt := CreateComObject(CLSID_DataLinks) as IDBPromptInitialize;
if Succeeded(DBPrompt.PromptDataSource(nil, ParentHandle,
DBPROMPTOPTIONS_PROPERTYSHEET, 0, nil, nil, IUnknown, DataSource)) then
begin
InitStr := nil;
DataInit.GetInitializationString(DataSource, True, InitStr);
Result := InitStr;
end;
end;
Elshad (2002-12-27 14:40:00) [3]Ну же мастера...! Не ужели не у кого нет не какой мысли-:(((
Elshad (2002-12-26 14:32:00) [4]Проблема в том что, мне нужно написать прогу каторая может работать и с версией 4.0 и с 3.51. По этому не могу конкретно указать версию в TADOConnection.Provider. Прога должна сперва выяснить какая версия стоит в данной машине, а потом уже указать Provider как "Microsoft.Jet.OLEDB.4.0" или "Microsoft.Jet.OLEDB.3.51".
Было бы великолепно узнать откуда Data Link берет список провайдеров в OLE DB Provider(s).
zx (2002-12-25 16:31:00) [5]не понял?
ты же сам его указываешь!
TADOConnection.Provider