Configurando drives [b]ODBC[/b] pelo Delphi

20/05/2003

0

O que faço p/ configurar meu Login Name e meu Password no drive ODBC pelo Delphi...

Deste já muito obrigado...


Fabricio Fagundes

Fabricio Fagundes

Responder

Posts

20/05/2003

Carnette

[quote:294724a13c=´Fabricio Fagundes´]O que faço p/ configurar meu Login Name e meu Password no drive ODBC pelo Delphi...

Deste já muito obrigado...[/quote:294724a13c]

Dica Tirada do Arquivo 800 Dicas e Truques em Delphi do LoydSoft http://www.lloydsoft.hpg.ig.com.br/


Dica de: Jackson Pires mailto:jackson_pires@yahoo.com.br

Criando drivers ODBC através do Delphi unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure CreateODBCDriver(Const cDSNName,cExclusive,cDescription,cDataBase,cDefaultPath,cConfigSql,cDriver: string); type TSQLConfigDataSource = function( hwndParent: HWND; fRequest: WORD; lpszDriver: LPCSTR; lpszAttributes: LPCSTR ): BOOL; stdcall; const ODBC_ADD_DSN = 1; // Adiciona uma fonte de dados (data source) ODBC_CONFIG_DSN = 2; // Configura a fonte de dados (data source) ODBC_REMOVE_DSN = 3; // Remove a fonte de dados (data source) ODBC_ADD_SYS_DSN = 4; // Adiciona um DSN no sistema ODBC_CONFIG_SYS_DSN = 5; // Configura o DSN do sistema ODBC_REMOVE_SYS_DSN = 6; // Remove o DSN do sistema 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; // Teste com access (Axes = Access) hLib := LoadLibrary( pChar(cDefaultPath) ); // carregando para o diretório padrão if( hLib <> NULL ) then begin @pFn := GetProcAddress( hLib, pChar(cConfigSql) ); if( @pFn <> nil ) then begin 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( ´Falha ao tentar criar o DSN (Data source).´ ); 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( ´Falha ao tentar criar o banco de dados´ ); end; FindClose( srInfo ); end; FreeLibrary( hLib ); if fResult then ShowMessage( ´Banco de dados criado.´ ); end else begin ShowMessage( ´o sistema não pode carregar a biblioteca ODBCCP32.DLL´ ); end; end; procedure TForm1.Button1Click(Sender: TObject); begin CreateOdbcDriver(´Cludelphi DSN´, ´1´, ´clubedelphi´, ´clubedelphi.MDB´, ´ODBCCP32´, ´SQLConfigDataSource´, ´Microsoft Access Driver (*.mdb)´); end; end. Concluções: Com esta dica você poderá criar drivers ODBC em tempo de execução, softwares de instalação, economizando tempo e deixando suas aplicações mais dinâmicas.



Responder

07/12/2007

Polix

Gente, eu achei aqui no forum uma exelente função para criar drive ODBC via programação para Access e eu não consigo adaptar ela pra MySql...

Função encontrada (´CreateOdbcDriver´)

Alguém ai pode me ajudar???


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar