![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Строка подключения к аксессу [D6, MS Access]
Oxy © (2006-03-02 11:56:00)Нeмогу найти как написать универсальную строку для подключения БД аксеса. Проблема в том что при работе на разних ПК довольно часто неможет найти драйвер. Офиса на компьютере может небить вообще...
Строка подключения(взято с http://delphimaster.ru/articles/dbtoword/index.html)
Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=F:\Home\Oxy\RMPsith\psihtestDB7.mdb;Mode=Read;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;
видает - "недопустимое имя файла".
Аксеса как и офиса на ПК не установлено.
Cтрока
Provider=MSDASQL.1;Persist Security Info=False;Mode=ReadWrite;Extended Properties="DSN=База данных MS Access;DBQ=F:\Home\Oxy\RMPsith\psihtestDB7.mdb;DefaultDir=F:\Home\Oxy\RMPsith;Dr iverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"
работает, но при переносе на другие ПК ошибка, ибо "DriverId=25" там другой(пробовала там такую же строчку делать).
Anatoly Podgoretsky (2006-03-03 07:40:00) [1]Oxy (02.03.06 17:59) [6]
Стереть нельзя, другие тоже хотят почитать.
isasa (2006-03-02 18:22:00) [2]Ну право! Вот метод который у меня переключает текущее соединение по нажатию кнопки.
procedure TConnForm.SourceConnStrClick(Sender: TObject);
var currConnection: TADOConnection;
begin
currConnection:=ZipData.SourceConnection;
currConnection.Close;
currConnection.ConnectionString := SourceString.Text;
if EditConnectionString(currConnection) then
currConnection.GetTableNames(tNameBox.Items, false);
end;
где
SourceConnection: TADOConnection;
Oxy (2006-03-02 17:59:00) [3]isasa, проще?! :)
msguns, угу, нашла такое, раньше, хотела уже стиреть тему но незя тут.
isasa (2006-03-02 17:22:00) [4]А не проще мспользовать?
AdoConEd.pas
function EditConnectionString(Component: TComponent): Boolean;
или
ADODB.pas
function PromptDataSource(ParentHandle: THandle; InitialString: WideString): WideString;
sniknik (2006-03-02 13:03:00) [5]>> Provider=MSDASQL.1...
> У тебя драйвер for MS SQL работал для Аксеса?
это OLEDB провайдер для ODBC, а не конкретно под один MSSQL (в том числе в ODBC есть и DSN MSSQL-я, также как и access и т.д. - чего установиш)
Megabyte (2006-03-02 12:46:00) [6]
> Cтрока
>
> Provider=MSDASQL.1...
У тебя драйвер for MS SQL работал для Аксеса?
Я не в теме?
msguns (2006-03-02 12:16:00) [7]Вот это у меня работает на всех компах, куда ни ставил:
function TdmLibr.DB_Open: boolean;
begin
result := true;
with cnLibr do
if not Connected then
try
ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+MainForm.Path_To_Database+';'+
'Persist Security Info=False';
LoginPrompt := false;
Open;
except
result := false;
end;
end;
Oxy (2006-03-02 12:02:00) [8]заработал вариант
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Home\Oxy\RMPsith\psihtestDB7.mdb;Persist Security Info=False
еще проверю на всех ли :)