Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-7656
BOA_KAA
2003-06-16 16:02
2003.07.03
А прикольно...


1-7389
VD601
2003-06-22 23:02
2003.07.03
Что означает строчка Result := E = 0; ?


1-7446
OlegL
2003-06-23 15:16
2003.07.03
вызов чужой функции в dll


14-7670
vic_vm
2003-06-16 20:17
2003.07.03
Функция InternetGetConnectedState врет?


1-7396
Anonimus
2003-06-22 15:28
2003.07.03
TStream





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский