Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

Строка подключения к аксессу   Найти похожие ветки 

 
Oxy   (2006-03-02 11:56) [0]

Н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" там другой(пробовала там такую же строчку делать).


 
Oxy   (2006-03-02 12:02) [1]

заработал вариант
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Home\Oxy\RMPsith\psihtestDB7.mdb;Persist Security Info=False
еще проверю на всех ли :)


 
msguns ©   (2006-03-02 12:16) [2]

Вот это у меня работает на всех компах, куда ни ставил:

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;


 
Megabyte ©   (2006-03-02 12:46) [3]


> Cтрока
>
> Provider=MSDASQL.1...

У тебя драйвер for MS SQL работал для Аксеса?

Я не в теме?


 
sniknik ©   (2006-03-02 13:03) [4]

>> Provider=MSDASQL.1...
> У тебя драйвер for MS SQL работал для Аксеса?

это OLEDB провайдер для ODBC, а не конкретно под один MSSQL (в том числе в ODBC есть и DSN MSSQL-я, также как и access и т.д. - чего установиш)


 
isasa ©   (2006-03-02 17:22) [5]

А не проще мспользовать?

AdoConEd.pas
function EditConnectionString(Component: TComponent): Boolean;

или

ADODB.pas
function PromptDataSource(ParentHandle: THandle; InitialString: WideString): WideString;


 
Oxy   (2006-03-02 17:59) [6]

isasa, проще?! :)

msguns, угу, нашла такое, раньше, хотела уже стиреть тему но незя тут.


 
isasa ©   (2006-03-02 18:22) [7]

Ну право! Вот метод который у меня переключает текущее соединение по нажатию кнопки.

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;


 
Anatoly Podgoretsky ©   (2006-03-03 07:40) [8]

Oxy   (02.03.06 17:59) [6]
Стереть нельзя, другие тоже хотят почитать.



Страницы: 1 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.06 c
3-1141071580
проходивший мимо....
2006-02-27 23:19
2006.04.23
создание динамических объектов для работы с БД


15-1144043683
DelphiN!
2006-04-03 09:54
2006.04.23
Запретить замену и удаление файла


15-1143713555
REA
2006-03-30 14:12
2006.04.23
Links


4-1139213874
Chaser
2006-02-06 11:17
2006.04.23
Как определить на весь ли экран DOS оно


9-1127156871
KOT_BEGEMOT
2005-09-19 23:07
2006.04.23
Поворот спрайта в сторону курсора (DelphiX)