Текущий архив: 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