[firebase-br] Alias e BDE
Michel Hansson
michel.hansson em tj.pa.gov.br
Sex Fev 25 10:35:29 -03 2005
Caro Fabio.
Estou tendo este tipo de problema com o Firebird.
Consegui a solução com o access mas não com o Firebird.
Segue rotina. que peguei na Internet
procedure CreateODBCDriver(Const
cDSNName,cExclusive,cDescription,cDataBase,cDefaultPath,cConfigSql,cDriver:
string);
//
// Cria um Driver no ODBC
//
// Deve ser usado da seguinte forma
//
// CreateOdbcDriver('TestDSN','1','Test
Data','TestData.MDB','ODBCCP32','SQLConfigDataSource','Microsoft Access
Driver (*.mdb)');
//
type
TSQLConfigDataSource = function( hwndParent: HWND; fRequest: WORD;
lpszDriver: LPCSTR; lpszAttributes: LPCSTR ): BOOL; stdcall;
const
ODBC_ADD_DSN = 1; // Add data source
ODBC_CONFIG_DSN = 2; // Configure (edit) data source
ODBC_REMOVE_DSN = 3; // Remove data source
ODBC_ADD_SYS_DSN = 4; // add a system DSN
ODBC_CONFIG_SYS_DSN = 5; // Configure a system DSN
ODBC_REMOVE_SYS_DSN = 6; // remove a system DSN
var
pFn: TSQLConfigDataSource;
hLib: LongWord;
strDriver: string;
strHome: string;
strAttr: string;
strFile: string;
fResult: BOOL;
ModName: array[0..MAX_PATH] of Char;
srInfo : TSearchRec;
begin
Windows.GetModuleFileName( HInstance, ModName, SizeOf(ModName) );
strHome := ModName;
while ( strHome[length(strHome)] <> '\' ) do
Delete( strHome, length(strHome), 1 );
strFile := strHome + cDatabase; // Test Access Rights (Axes = Access)
hLib := LoadLibrary( pChar(cDefaultPath) ); // load from default path
if( hLib <> NULL ) then
begin
@pFn := GetProcAddress( hLib, pChar(cConfigSql) );
if( @pFn <> nil ) then
begin
// force (re-)create DSN
strDriver := cDriver;
strAttr := Format( 'DSN=%s'+#0+
'DBQ=%s'+#0+
'Exclusive=%s'+#0+
'Description=%s'+#0+#0,
[cDSNName,strFile,cExclusive,cDescription] );
fResult := pFn( 0, ODBC_ADD_SYS_DSN, @strDriver[1], @strAttr[1] );
if( fResult = false ) then
ShowMessage( 'Create DSN (Datasource) failed!' );
// test/create MDB file associated with DSN
if( FindFirst( strFile, 0, srInfo ) <> 0 ) then
begin
strDriver := cDriver;
strAttr := Format( 'DSN=%s'+#0+
'DBQ=%s'+#0+
'Exclusive=%s'+#0+
'Description= %s'+#0+#0+
'CREATE_DB="%s"'#0+#0,
[cDSNName,strFile,cExclusive,cDescription,strFile]);
fResult := pFn( 0, ODBC_ADD_SYS_DSN, @strDriver[1], @strAttr[1] );
if( fResult = false ) then
ShowMessage( 'Create MDB (Database file) failed!' );
end;
FindClose( srInfo );
end;
FreeLibrary( hLib );
if fResult then
ShowMessage( 'Create MDB (Database file) Sucefull created!' );
end
else
begin
ShowMessage( 'Unable to load ODBCCP32.DLL' );
end;
end;
Espero ter ajudado
[]s
Michel Hansson
>
> Oi, gente.
>
> Eu sei que a lista de discussão é Firebird. Mas, se alguém puder me ajudar
ficaria agradecido...
>
>
> Seguinte, tenho uma aplicação que ainda trabalha com Access utilizando o
BDE. Gostaria de uma aplicativo que configurasse um alias, seja
automaticamente ou o usuário informando como parâmetro o caminho da Base de
Dados (isso seria o de menos). O que preciso evitar é que o usuário vá ao
Painel de Controle e crie uma fonte de dados.
>
> Alguém tem alguma aplicação neste estilo?
>
> Desde já, agradeço.
>
>
>
>
> "A maioria dos produtos de hardware vem com uma garantia; a maioria dos
produtos de software vem com uma negação de garantia." James Martin
>
> Fábio Paiva
> Horizonte Gestão Empresarial
> 8802-3687 e 4006-4026/4039/4081
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> ---------------------------------
> Do you Yahoo!?
> Yahoo! Sports - Sign up for Fantasy Baseball.
>
>
----------------------------------------------------------------------------
----
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
----------------------------------------------------------------------------
----
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.4.0 - Release Date: 22/02/2005
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.4.0 - Release Date: 22/02/2005
Mais detalhes sobre a lista de discussão lista