Главная страница
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.49 MB
Время: 0.064 c
2-1168494921
Сергей И
2007-01-11 08:55
2007.01.28
Помогиет по БД!


15-1168259090
Extar
2007-01-08 15:24
2007.01.28
И снова здравствуйте


15-1167722573
legat
2007-01-02 10:22
2007.01.28
Возврат кода ошибки


9-1142626826
Yegorchic
2006-03-17 23:20
2007.01.28
Добавление GLFreeForm


15-1167912546
Ксардас
2007-01-04 15:09
2007.01.28
Подскажите как отключить...