Форум: "Базы";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
ВнизСтрока подключения к аксессу Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c