![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание Alias программно ........ [D5, MS Access 2002]
jambvi © (2003-06-05 17:13:00)Мне надо создавать программно(RunTime) Alias для базы на Access. Подскажите как это сделать! Еще мне надо будет переключатся между базами. т.е. работать поочередно с разными базами.
Заранее благодарен!!!
sniknik (2003-06-07 16:24:00) [1]jambvi © (07.06.03 15:11)
понимаю что не к серверу, но это пример как слелать Алиас. переделать под Access возможно. именно его ты хотел сделать. делай, кто кроме тебя? мне к примеру незачем. может и понадобится тогда займусь(когданибудь... потом), но тебе же срочно.
jambvi © (07.06.03 16:01)
В строку коннекта ADO, имя базы (файла mdb) прописать, и все. если ODBC то имя драувера указать.
jambvi (2003-06-07 16:01:00) [2]А если без алиаса можно работать то как?
jambvi (2003-06-07 15:11:00) [3]Мне не к серверу надо конектится, у меня база на этом же компе, мне просто нужно, чтобы не создавать алиас вручную
sniknik (2003-06-07 14:52:00) [4]ну раз срочно и именно 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 14:25:00) [5]Мне пример нужен как создать Alias программно для работы с базой MS Access в Delphi 5.0. Очень срочно, для диплома.
sniknik (2003-06-07 01:39:00) [6]пример чего? BDE, ADO, как работать или создать алиас?
(с алиасами не работал, но гдето есть примеры с форума для MySQL и MSSQL, не пользуюсь(хотя хотел разобрать), зачем? если можно сделать проще)
jambvi (2003-06-07 00:57:00) [7]Помогите!!! Напишите пример!!!!
Соловьев (2003-06-06 09:57:00) [8]ADO не использую, но насколько мне известно меняешь строку подключения.
jambvi (2003-06-05 18:29:00) [9]Напишите небольшой пример, если можно.
Соловьев (2003-06-05 18:09:00) [10]session+database или ADO юзать