Форум: "Базы";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизСоздание Alias программно ........ Найти похожие ветки
← →
jambvi (2003-06-05 17:13) [0]Мне надо создавать программно(RunTime) Alias для базы на Access. Подскажите как это сделать! Еще мне надо будет переключатся между базами. т.е. работать поочередно с разными базами.
Заранее благодарен!!!
← →
Соловьев (2003-06-05 18:09) [1]session+database или ADO юзать
← →
jambvi (2003-06-05 18:29) [2]Напишите небольшой пример, если можно.
← →
Соловьев (2003-06-06 09:57) [3]ADO не использую, но насколько мне известно меняешь строку подключения.
← →
jambvi (2003-06-07 00:57) [4]Помогите!!! Напишите пример!!!!
← →
sniknik (2003-06-07 01:39) [5]пример чего? BDE, ADO, как работать или создать алиас?
(с алиасами не работал, но гдето есть примеры с форума для MySQL и MSSQL, не пользуюсь(хотя хотел разобрать), зачем? если можно сделать проще)
← →
jambvi (2003-06-07 14:25) [6]Мне пример нужен как создать Alias программно для работы с базой MS Access в Delphi 5.0. Очень срочно, для диплома.
← →
sniknik (2003-06-07 14:52) [7]ну раз срочно и именно Alias (хоть и не понимаю зачем, работать с любыми базами можно и без него) разбирайся, и переделыай под аксесс, а т.к. не сказал точио за алиас нужен BDE, ODBC привожу сохраненный по ODBC как более сложный, с BDE просто, даже я почти не работая в с ним сам дошол прочитав несколько страниц из хелпа.
----
Worder (12.12.02 08:36)
Господа, ну подскажите, каким же образом это делается.
С возможностью создания алияса сервера. Естесно тоже программно.
На Win2000.
Также приветствуется помощь ссылкой.
--------------------------------------------------------------------------------
Севостьянов Игорь © (12.12.02 10:46)
Только не понятно зачем тебе это нужно ?
Ведь, если тебе надо коннектится к серверу можно использовать ADO
Там можно и без DNS обойтись
А лучше работать через SQL API (DBLib)
--------------------------------------------------------------------------------
Севостьянов Игорь © (12.12.02 12:17)
Ну, а вот собственно и код создания System ODBC
procedure TForm1.Button1Click(Sender: TObject);
const
keyODBC = "\SOFTWARE\ODBC\ODBC.INI\";
keyODBCINST = "\SOFTWARE\ODBC\ODBCINST.INI\";
keyODBCDrivers = keyODBCINST + "ODBC Drivers\";
keySQLServer = "SQL Server";
keyODBCDataSrcs = "ODBC Data Sources";
vdInstalled = "Installed";
vnDriver = "Driver";
vnDataBase = "DataBase";
vnDescription = "Description";
vnLastUser = "LastUser";
vnServer = "Server";
NewDNSName : string = "NewDNSName";
DataBase : string = "master";
Description : string = "UAIGORS SQL Server";
LastUser : string = "sa";
Server : string = "UAIGORS";
Driver : string = "sqlsrv32.dll";
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
with Reg do
try
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey(keyODBC, False) and OpenKey(keyODBCINST, False) then
begin
if OpenKey(keyODBCDrivers, False) then
if ReadString(keySQLServer) = vdInstalled then
begin
if not KeyExists(keyODBC + "\" + NewDNSName) then
begin
if OpenKey(keyODBCINST + "\" + keySQLServer, False) then
Driver := ReadString(vnDriver);
if CreateKey(keyODBC + "\" + NewDNSName) then
begin
OpenKey(keyODBC + "\" + NewDNSName, False);
WriteString(vnDataBase, DataBase);
WriteString(vnDescription, Description);
WriteString(vnDriver, Driver);
WriteString(vnLastUser, LastUser);
WriteString(vnServer, Server);
if OpenKey(keyODBC + "\" + keyODBCDataSrcs, False) then WriteString(NewDNSName, keySQLServer);
end
else
MessageBox(0, PChar("Can not create new registry key: "+NewDNSName), "Warning", MB_ICONWARNING);
end
else
MessageBox(0, "This DNS name already exists", "Warning", MB_ICONWARNING);
end
else
MessageBox(0, "SQL Server driver not installed", "Warning", MB_ICONWARNING);
end
else
MessageBox(0, "ODBC not installed", "Warning", MB_ICONWARNING);
finally
Reg.Free;
end;
end;
--------------------------------------------------------------------------------
Worder (12.12.02 13:03)
Мда...
Круто. Что самое приятное, то, что почти все сразу сработало.
Спасибо, Игорь.
← →
jambvi (2003-06-07 15:11) [8]Мне не к серверу надо конектится, у меня база на этом же компе, мне просто нужно, чтобы не создавать алиас вручную
← →
jambvi (2003-06-07 16:01) [9]А если без алиаса можно работать то как?
← →
sniknik (2003-06-07 16:24) [10]jambvi © (07.06.03 15:11)
понимаю что не к серверу, но это пример как слелать Алиас. переделать под Access возможно. именно его ты хотел сделать. делай, кто кроме тебя? мне к примеру незачем. может и понадобится тогда займусь(когданибудь... потом), но тебе же срочно.
jambvi © (07.06.03 16:01)
В строку коннекта ADO, имя базы (файла mdb) прописать, и все. если ODBC то имя драувера указать.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c