Fórum Conectar mdb com ADO usando INI #407259

31/08/2011

0

Boa tarde,

Como faço para criar um arquivo INI para conectar o banco teste.mdb? Utilizo ADOConnection com Microsoft Jet 4.0 OLE DB Provider.

Uso essa string:

 Diretorio := ExtractFilePath(Application.Exename);

   dmData.Conexao.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0; ' +
    'Data Source='+Diretorio+'\Dados\BD.mdb;' +
    'Jet OLEDB:Database Password="";' +
    'Persist Security Info=False';

Gostaria de criar um arquivo ini para que fosse feita a conexao. Alguém pode me ajudar?
Frederico Brigatte***

Frederico Brigatte***

Responder

Posts

31/08/2011

Frederico Brigatte***

Boa tarde,

Como faço para criar um arquivo INI para conectar o banco teste.mdb? Utilizo ADOConnection com Microsoft Jet 4.0 OLE DB Provider.

Uso essa string:

 Diretorio := ExtractFilePath(Application.Exename);

   dmData.Conexao.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0; ' +
    'Data Source='+Diretorio+'\Dados\BD.mdb;' +
    'Jet OLEDB:Database Password="";' +
    'Persist Security Info=False';

Gostaria de criar um arquivo ini para que fosse feita a conexao. Alguém pode me ajudar?




Esse é o erro que ta dando.
Responder

Gostei + 0

31/08/2011

Paulo Andrade

Esse erro ocorre pq o local onde está sua conexão, ele já cria abrindo a conexão, tire a oção de abrir conexão, marque False, e tente.   Outra díca é vc colocar esse código na Unit principal. Posso mandar um exemplo caso não dê certo a correção sitada.
Responder

Gostei + 0

31/08/2011

Frederico Brigatte***

Esse erro ocorre pq o local onde está sua conexão, ele já cria abrindo a conexão, tire a oção de abrir conexão, marque False, e tente.   Outra díca é vc colocar esse código na Unit principal. Posso mandar um exemplo caso não dê certo a correção sitada.


Como fazer um arquivo ini? É o melhor método?
Responder

Gostei + 0

31/08/2011

Frederico Brigatte***

Esse erro ocorre pq o local onde está sua conexão, ele já cria abrindo a conexão, tire a oção de abrir conexão, marque False, e tente.   Outra díca é vc colocar esse código na Unit principal. Posso mandar um exemplo caso não dê certo a correção sitada.


Como fazer um arquivo ini? É o melhor método?


Esqueci de informar, o script está no form de Login.
Responder

Gostei + 0

01/09/2011

Frederico Brigatte***

Esse erro ocorre pq o local onde está sua conexão, ele já cria abrindo a conexão, tire a oção de abrir conexão, marque False, e tente.   Outra díca é vc colocar esse código na Unit principal. Posso mandar um exemplo caso não dê certo a correção sitada.


Como fazer um arquivo ini? É o melhor método?


Esqueci de informar, o script está no form de Login.


Alguém para ajudar??
Responder

Gostei + 0

08/09/2011

Frederico Brigatte***

Esse erro ocorre pq o local onde está sua conexão, ele já cria abrindo a conexão, tire a oção de abrir conexão, marque False, e tente.   Outra díca é vc colocar esse código na Unit principal. Posso mandar um exemplo caso não dê certo a correção sitada.


Como fazer um arquivo ini? É o melhor método?


Esqueci de informar, o script está no form de Login.


Alguém para ajudar??


Ninguém? Estou precisando muito disso.
Responder

Gostei + 0

13/09/2011

Nilson Alvernaz

Eu utilizo banco SQL Server tmbém com strindo e conexão ADOConnection.


Uso a seguinte:

Para LER o INI:

procedure LerArquivoIni;
begin
   Arquivo := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Configuracao.ini');
   try
     DriverName := Arquivo.ReadString('BANCO','DRIVER','');
     TipoServer := Arquivo.ReadString('BANCO','TIPOSERVIDOR','');
     ServerLocal := Arquivo.ReadString('BANCO','SERVERLOCAL','');
     ServerRemoto := Arquivo.ReadString('BANCO','SERVERREMOTO','');
     ServerSrv  := Arquivo.ReadString('BANCO','SERVERSRV','');
     NrPorta    := Arquivo.ReadString('BANCO','PORTA','');
     NomeBanco  := Arquivo.ReadString('BANCO','NOMEBANCO','');
     UsuarioBanco := Decrypta(Arquivo.ReadString('BANCO','USUARIO',''));
     SenhaBanco := Decrypta(Arquivo.ReadString('BANCO','SENHA',''));
   finally
      Arquivo.Free;
   end;
end;


Para GRAVAR o INI:

Arquivo := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Configuracao.Ini');
  try
    {  Configuração Banco de Dados }
    Arquivo.WriteString('BANCO','SERVERLOCAL',edtServerLocal.Text);
    Arquivo.WriteString('BANCO','SERVERREMOTO',edtServerRemoto.Text);
    Arquivo.WriteString('BANCO','SERVERSRV',edtServerSrv.Text);
    Arquivo.WriteString('BANCO','PORTA',edtPorta.Text);
    Arquivo.WriteString('BANCO','NOMEBANCO',edtBD.Text);
    Arquivo.WriteString('BANCO','USUARIO',Encrypta(edtUsuario.Text));
    Arquivo.WriteString('BANCO','SENHA',Encrypta(edtSenhaBD.Text));
  finally
    Arquivo.Free;
    Screen.Cursor:=CrDefault;
  end;


Uso o ADO Connection para conectar o banco e na ConnectionString

ConnectionString := 'Provider='+Driver+';'+
                                'Persist Security Info=True;'+
                                'User ID='+UserName+';'+
                                'Password='+Password+';'+
                                'Initial Catalog='+NomeBanco+';'+
                                'Data Source='+InstanciaBd+';'+
                                'Auto Translate=True;'+
                                'Packet Size=4096;'+
                                'Workstation ID='+NomeEstacao+';'+
                                'Network Library=DBMSSOCN';

vê se isso te ajuda.

Responder

Gostei + 0

13/09/2011

Frederico Brigatte***

Eu utilizo banco SQL Server tmbém com strindo e conexão ADOConnection.


Uso a seguinte:

Para LER o INI:

procedure LerArquivoIni;
begin
   Arquivo := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Configuracao.ini');
   try
     DriverName := Arquivo.ReadString('BANCO','DRIVER','');
     TipoServer := Arquivo.ReadString('BANCO','TIPOSERVIDOR','');
     ServerLocal := Arquivo.ReadString('BANCO','SERVERLOCAL','');
     ServerRemoto := Arquivo.ReadString('BANCO','SERVERREMOTO','');
     ServerSrv  := Arquivo.ReadString('BANCO','SERVERSRV','');
     NrPorta    := Arquivo.ReadString('BANCO','PORTA','');
     NomeBanco  := Arquivo.ReadString('BANCO','NOMEBANCO','');
     UsuarioBanco := Decrypta(Arquivo.ReadString('BANCO','USUARIO',''));
     SenhaBanco := Decrypta(Arquivo.ReadString('BANCO','SENHA',''));
   finally
      Arquivo.Free;
   end;
end;


Para GRAVAR o INI:

Arquivo := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Configuracao.Ini');
  try
    {  Configuração Banco de Dados }
    Arquivo.WriteString('BANCO','SERVERLOCAL',edtServerLocal.Text);
    Arquivo.WriteString('BANCO','SERVERREMOTO',edtServerRemoto.Text);
    Arquivo.WriteString('BANCO','SERVERSRV',edtServerSrv.Text);
    Arquivo.WriteString('BANCO','PORTA',edtPorta.Text);
    Arquivo.WriteString('BANCO','NOMEBANCO',edtBD.Text);
    Arquivo.WriteString('BANCO','USUARIO',Encrypta(edtUsuario.Text));
    Arquivo.WriteString('BANCO','SENHA',Encrypta(edtSenhaBD.Text));
  finally
    Arquivo.Free;
    Screen.Cursor:=CrDefault;
  end;


Uso o ADO Connection para conectar o banco e na ConnectionString

ConnectionString := 'Provider='+Driver+';'+
                                'Persist Security Info=True;'+
                                'User ID='+UserName+';'+
                                'Password='+Password+';'+
                                'Initial Catalog='+NomeBanco+';'+
                                'Data Source='+InstanciaBd+';'+
                                'Auto Translate=True;'+
                                'Packet Size=4096;'+
                                'Workstation ID='+NomeEstacao+';'+
                                'Network Library=DBMSSOCN';

vê se isso te ajuda.



Como fazer para o Access? Não entendi direito o código. Obrigado pela resposta.
Responder

Gostei + 0

13/09/2011

Nilson Alvernaz

Bom como fazer com obanco ACCESS eu não sei por que não trabalhei com access, mas o que você vai fazer é o seguinte:

esse código vc usa da seguinte maneira:

No seu formulário de login ou outro que inicia para fazer a conexão vc pede para lê o arquivo INI tipo:

procedure TfrmMain.FormCreate(Sender: TObject);
begin
...

  Arquivo := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Configuracao.ini');
   try
     DriverName := Arquivo.ReadString('BANCO','DRIVER','');
     TipoServer := Arquivo.ReadString('BANCO','TIPOSERVIDOR','');
     ServerLocal := Arquivo.ReadString('BANCO','SERVERLOCAL','');
     ServerRemoto := Arquivo.ReadString('BANCO','SERVERREMOTO','');
     ServerSrv  := Arquivo.ReadString('BANCO','SERVERSRV','');
     NrPorta    := Arquivo.ReadString('BANCO','PORTA','');
     NomeBanco  := Arquivo.ReadString('BANCO','NOMEBANCO','');
     UsuarioBanco := Decrypta(Arquivo.ReadString('BANCO','USUARIO',''));
     SenhaBanco := Decrypta(Arquivo.ReadString('BANCO','SENHA',''));
   finally
      Arquivo.Free;
   end;

...
end;

a parte que te mandei para GRAVAR o INI

vc cria um outro aplicativo com 1 tela Main ou 1 form que tenha os campos:

edit ServerLocal (ip ou noma da maquina que ficará o banco de dados)
edit NomeBanco (Nome do arquivo Access)
edit Usuario (Nome do Usuario do banco)
edit Senha (Senha do Banco)

coloque um botão gravar onde ele vai chamar a procedure

Arquivo := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Configuracao.ini');
   try
     ServerLocal := Arquivo.ReadString('BANCO','SERVERLOCAL','');
     NomeBanco  := Arquivo.ReadString('BANCO','NOMEBANCO','');
     UsuarioBanco := Decrypta(Arquivo.ReadString('BANCO','USUARIO',''));
     SenhaBanco := Decrypta(Arquivo.ReadString('BANCO','SENHA',''));
   finally
      Arquivo.Free;
   end;

Assim ele vai criar e gravar o arquivo ini.

Faça uma busca no forum por "criar arquivo ini" e vc vai achar muita coisa.

Responder

Gostei + 0

13/09/2011

Frederico Brigatte***

Bom como fazer com obanco ACCESS eu não sei por que não trabalhei com access, mas o que você vai fazer é o seguinte:

esse código vc usa da seguinte maneira:

No seu formulário de login ou outro que inicia para fazer a conexão vc pede para lê o arquivo INI tipo:

procedure TfrmMain.FormCreate(Sender: TObject);
begin
...

  Arquivo := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Configuracao.ini');
   try
     DriverName := Arquivo.ReadString('BANCO','DRIVER','');
     TipoServer := Arquivo.ReadString('BANCO','TIPOSERVIDOR','');
     ServerLocal := Arquivo.ReadString('BANCO','SERVERLOCAL','');
     ServerRemoto := Arquivo.ReadString('BANCO','SERVERREMOTO','');
     ServerSrv  := Arquivo.ReadString('BANCO','SERVERSRV','');
     NrPorta    := Arquivo.ReadString('BANCO','PORTA','');
     NomeBanco  := Arquivo.ReadString('BANCO','NOMEBANCO','');
     UsuarioBanco := Decrypta(Arquivo.ReadString('BANCO','USUARIO',''));
     SenhaBanco := Decrypta(Arquivo.ReadString('BANCO','SENHA',''));
   finally
      Arquivo.Free;
   end;

...
end;

a parte que te mandei para GRAVAR o INI

vc cria um outro aplicativo com 1 tela Main ou 1 form que tenha os campos:

edit ServerLocal (ip ou noma da maquina que ficará o banco de dados)
edit NomeBanco (Nome do arquivo Access)
edit Usuario (Nome do Usuario do banco)
edit Senha (Senha do Banco)

coloque um botão gravar onde ele vai chamar a procedure

Arquivo := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Configuracao.ini');
   try
     ServerLocal := Arquivo.ReadString('BANCO','SERVERLOCAL','');
     NomeBanco  := Arquivo.ReadString('BANCO','NOMEBANCO','');
     UsuarioBanco := Decrypta(Arquivo.ReadString('BANCO','USUARIO',''));
     SenhaBanco := Decrypta(Arquivo.ReadString('BANCO','SENHA',''));
   finally
      Arquivo.Free;
   end;

Assim ele vai criar e gravar o arquivo ini.

Faça uma busca no forum por "criar arquivo ini" e vc vai achar muita coisa.



Ok. Vou procurar. A proósito, vc sabe como gravar numa tabela os itens do MainMenu (Menus e sub) com seu código ou Tag? Já usou o TreeView?
Responder

Gostei + 0

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

Aceitar