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

Вниз

Создание системного DNS   Найти похожие ветки 

 
Константин_   (2006-11-09 09:25) [0]

Можно ли программно создать и настроить системный DNS ?


 
DVM ©   (2006-11-09 10:06) [1]

Можно


 
Константин_   (2006-11-09 10:25) [2]

2 DVM
а можно узнать как?


 
Константин_   (2006-11-09 10:32) [3]

Упс... прошу прощения, не DNS а DSN создать надо


 
Jeer ©   (2006-11-09 10:45) [4]

Создай руками, посмотри куда это влетело, сделай аналогичное программно.


 
Anatoly Podgoretsky ©   (2006-11-09 11:21) [5]

Известно куда, в ИНИ файлы


 
Jeer ©   (2006-11-09 11:38) [6]


> Anatoly Podgoretsky ©   (09.11.06 11:21) [5]


Ну пусть хоть немного потрудится:)


 
alexeis ©   (2006-11-09 11:55) [7]

у меня такое работало :-)

procedure InitDSN;
type
TSQLConfigDataSource = function (hwndParent: Integer;fRequest: Integer;
                               lpszDriverString: string;lpszAttributes: string): Smallint; stdcall;
const
 ODBC_ADD_DSN  :integer      = 1;    // Добавляем источник данных
 ODBC_CONFIG_DSN :integer    = 2;    // Конфигурируем (редактируем) источник данных
 ODBC_REMOVE_DSN  :integer   = 3;    // Удаляем источник данных
 ODBC_ADD_SYS_DSN :integer   = 4;    // Добавляем системный DSN
 ODBC_CONFIG_SYS_DSN :integer = 5;    // Конфигурируем системный DSN
 ODBC_REMOVE_SYS_DSN :integer = 6;    // удаляем системный DSN
var   pFn: TSQLConfigDataSource;  
 hLib: LongWord;
 strDriver: string;
 strHome: string;
 strAttr: string;  
 strFile: string;  
 fResult: integer;
 ModName: array[0..MAX_PATH] of Char;  
 srInfo : TSearchRec;
function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;
                             lpszDriverString: string; lpszAttributes: string): Integer; stdcall;
var
 func: TSQLConfigDataSource;
 OdbccpHMODULE: HMODULE;
 sdir:string;
begin
 setLength(sdir,144);
 if GetSystemDirectory(Pchar(sdir),144)<>0 then
   SetLength(sdir,StrLen(Pchar(sdir)));
 sdir := sdir+"\odbccp32.dll";
 OdbccpHMODULE := LoadLibrary(Pchar(sdir));
 if OdbccpHMODULE = 0 then
   raise Exception.Create(SysErrorMessage(GetLastError));
 func := GetProcAddress(OdbccpHMODULE, PChar("SQLConfigDataSource"));
 if @func = nil then
   raise Exception.Create("Error Getting adress for SQLConfigDataSource"+
 SysErrorMessage(GetLastError));
 Result := func(hwndParent, fRequest, lpszDriverString, lpszAttributes);
 FreeLibrary(OdbccpHMODULE);
end;
begin
 Windows.GetModuleFileName( HInstance, ModName, SizeOf(ModName) );
 strHome := ModName;  
 while ( strHome[length(strHome)] <> "\" ) do  
   Delete( strHome, length(strHome), 1 );
 strFile := strHome + "blablabla.txt";  
 hLib := LoadLibrary( "ODBCCP32" );    // загружаем библиотеку (путь по умолчанию)
 if( hLib <> NULL ) then
 begin
   @pFn := GetProcAddress( hLib, "SQLConfigDataSource" );
   if( @pFn <> nil ) then
   begin
     // начинаем создание DSN
     strDriver := "Microsoft Text Driver (*.txt; *.csv)";
     strAttr := Format( "DSN=LiderDSN"+#0+
                        "Exclusive=0"+#0+
                        "Description=Test Data"+#0+
                        "Extensions=txt"+#0+
                        "DefaultDir="+path_base+#0+#0,
                        [strFile] );
     fResult := pFn( 0, ODBC_ADD_SYS_DSN, strDriver,strAttr);
     if( fResult = 0 ) then
       ShowMessage( "Ошибка создания DSN (Datasource) !" );
   end;
 end;
end;


 
sniknik ©   (2006-11-09 11:57) [8]

> а можно узнать как?
а можно узнать зачем? т.е. для чего (какой базы), какой доступ используется, навой разработке/дорабатываемой и т.д. ... т.е. почему именно ODBC? в то время когда его уже не рекомендуют к использованию... (хотя, пока еще не категорически ;), как BDE)


 
Anatoly Podgoretsky ©   (2006-11-09 13:04) [9]

> Jeer  (09.11.2006 11:38:06)  [6]

А я ему оставил место для работы, направление знает.



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

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

Наверх




Память: 0.47 MB
Время: 0.052 c
15-1168029800
ZiTRaX
2007-01-05 23:43
2007.01.28
Просто под впечатлением от прочитанного...


15-1167903579
bb2
2007-01-04 12:39
2007.01.28
Как сделать окно-телетайп


6-1156606780
DVM
2006-08-26 19:39
2007.01.28
Неблокирующие сокеты на WinAPi.


2-1168424847
RomanH
2007-01-10 13:27
2007.01.28
Заголовок DBGrid а


15-1168598755
alll
2007-01-12 13:45
2007.01.28
Работа с компонентами Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский