andi 0 Denunciar post Postado Janeiro 12, 2006 Boa noite galera,gostaria de saber se tem algum comando para registrar automaticamente meu banco de dados no BDE.estava fuçando no REGEDIT e la tem um caminho que contém essas informações, mas preciso saber se funciona 100% isso. (HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\....) valeu! Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Janeiro 12, 2006 No seu caso agredito que você deseja criar um alias para o seu banco de dados, você pode fazer isto via programação: Inclua na seção uses: DB { se o alias não existir... } if not Session.IsAlias('MeuAlias') then begin { Adiciona o alias } Session.AddStandardAlias('MeuAlias', 'C:\DirProg', 'PARADOX'); { Salva o arquivo de configuração do BDE } Session.SaveConfigFile; end;Para criar um alias do dBase troque a string 'PARADOX' por 'DBASE'. No caso acima usei como path o caminho "C:\DirProg", mas se você quiser poderá trocar este caminho por ExtractFilePath(ParamStr(0)) para que o alias seja direcionado para o local onde esta. Compartilhar este post Link para o post Compartilhar em outros sites
andi 0 Denunciar post Postado Janeiro 12, 2006 desculpe minha ignorancia, mas ele da erro nesse 'session'... if not Session.IsAlias q componente eh esse? valeu pela ajuda! /]@t' date='Jan 12 2006, 08:19 AM' post='496412'] No seu caso agredito que você deseja criar um alias para o seu banco de dados, você pode fazer isto via programação: Inclua na seção uses: DB { se o alias não existir... } if not Session.IsAlias('MeuAlias') then begin { Adiciona o alias } Session.AddStandardAlias('MeuAlias', 'C:\DirProg', 'PARADOX'); { Salva o arquivo de configuração do BDE } Session.SaveConfigFile; end;Para criar um alias do dBase troque a string 'PARADOX' por 'DBASE'. No caso acima usei como path o caminho "C:\DirProg", mas se você quiser poderá trocar este caminho por ExtractFilePath(ParamStr(0)) para que o alias seja direcionado para o local onde esta. Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Janeiro 12, 2006 Adicone no uses tb DBTables Compartilhar este post Link para o post Compartilhar em outros sites
andi 0 Denunciar post Postado Janeiro 12, 2006 valeu!! :) Quando é banco do ACCESS, eu ponho o que no lugar de paradox? coloquei ACCESS mas da erro,desculpa pelo encomodo ai!brigadão /]@t' date='Jan 12 2006, 12:01 PM' post='496595']Adicone no uses tb DBTables Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Janeiro 12, 2006 Se não me engano, você deve colocar MSACCESS Compartilhar este post Link para o post Compartilhar em outros sites
christianhess 0 Denunciar post Postado Janeiro 12, 2006 Nao esta funcionando ake! Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Janeiro 13, 2006 Achei uma outra forma que se pode criar, esta usando ODBC. unit fPrincipal;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;type TfrmPrincipal = class(TForm) BitBtn1: TBitBtn; procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;procedure CreateODBCDriver(Const cDSNName,cExclusive,cDescription,cDataBase,cDefaultPath,cConfigSql,cDriver: string);var frmPrincipal: TfrmPrincipal;implementation{$R *.dfm}procedure TfrmPrincipal.BitBtn1Click(Sender: TObject);beginCreateOdbcDriver('TesteDSN', '1', 'Teste DSN' , 'c:\Teste.mdb', 'ODBCCP32', 'SQLConfigDataSource', 'Microsoft Access Driver (*.mdb)');end;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; ODBC_CONFIG_DSN = 2; ODBC_REMOVE_DSN = 3; ODBC_ADD_SYS_DSN = 4; ODBC_CONFIG_SYS_DSN = 5; ODBC_REMOVE_SYS_DSN = 6;var pFn: TSQLConfigDataSource; hLib: LongWord; strAttr, strDriver: string; fResult: BOOL; srInfo: TSearchRec;beginfResult:=False;hLib:=LoadLibrary(pChar(cDefaultPath));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,cDatabase,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( cDatabase, 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,cDatabase,cExclusive,cDescription,cDatabase]); 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.' ); endelse ShowMessage( 'o sistema não pode carregar a biblioteca ODBCCP32.DLL' );end;end. Compartilhar este post Link para o post Compartilhar em outros sites