GARANTIR DESCONTO

Fórum Alterar Propriedades SQLConnection #220047

12/03/2004

0

Caros Colegas

Como faço para alterar em RUNTIME os CONNECTION SETTINGS da Propriedade Connection do SQLConnection??

Estou compilando .CLX

Preciso disso pois utilizo um arquivo .INI e tenho o caminho do Banco de Dados neste arquivo, e preciso alterar isso no CONNECTION SETTINGS no momento da conexão..

agradeço antecipadamente

Cabelo


Cabelo

Cabelo

Responder

Posts

12/03/2004

Jubrovolski

Você vai precisar mudar a propriedade LoadParamsOnConnect para true.
Fazendo isso, ele procurará os arquivos
dbxconnections.ini e dbxdrivers

Faça com que seu programa altere a linhas necessárias no arquivo dbxconnections.ini
Mas antes de fazer alteração mude a propriedade connected para false.
Depois conecte novamente após a mudança.

Espero ter ajudado.


Responder

Gostei + 0

12/03/2004

Cabelo

Muito Obrigado..

Só mais uma pergunta...

Se existe então um arquivo .INI do DBExpress, tem como eu alterar o arquivo que ele irá usar para realizar a conexão???

sem mais

Cabelo


Responder

Gostei + 0

12/03/2004

Jubrovolski

Dentro do arquivo dbxconnections.ini, há a sequencia abaixo:

[MySQLConnection]
DriverName=MySQL
HostName=server
Database=test
User_Name=root
Password=123456
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000

Você pode criar uma função para buscar dentro do arquivo as linhas e o texto que deseja mudar. Ou caso apenas trabalhe com um tipo de banco de dados, pode deletar o arquivo e criar um outro apenas com o banco de dados que trabalha. No meu caso, trabalho com mysql.


Responder

Gostei + 0

12/03/2004

Cabelo

Tudo bem, isso eu sei fazer..

a minha dúvida é :

Tem como utilizar outro arquivo? Com nome e diretórios diferentes??

sabe pq? Eu compilo em .CLX e o executável será usado em Windows e no Linux, simplismente compiladno para um e para outro, mas o código não deve ser alterado..entende? Por isso a minha pergunta.
sem mais

Cabelo


Responder

Gostei + 0

12/03/2004

Jubrovolski

Desconheço se há como fazer ou como fazë-lo
Tente colocar um novo tópico perguntando:
Como informar qual arquivo de inicialização usar na propriedade
LoadParamsOnConnect.


Responder

Gostei + 0

12/03/2004

Jubrovolski

Acabo de pesquisar no grupo e descobri


SqlConnection1.LoadParamsFromIniFile(´dbxconnections.ini´);


Responder

Gostei + 0

12/03/2004

Cabelo

Colega jubrovolski

vc conseguiu fazer a conexão?

Pq aqui eu não consegui..

tentei de todos os jeitos.

Mas sempre dá um erro assim ´Missing DriverName property´, já cheguei a excluir a conexão, tentei refazê-la e nada..

Vc saberia dizer o quê pode ser, já que vc utiliza isso..

Agradeço antecipadamente.

Cabelo


Responder

Gostei + 0

12/03/2004

Jubrovolski

Consegui fazer sem problemas: Vai parte de um código que usei para testar.

procedure TForm1.FormCreate(Sender: TObject);
begin
sqlconnection1.Connected:=false;
SqlConnection1.LoadParamsFromIniFile(´config.ini´);
if SQLConnection1.ParamsLoaded = true then
showmessage(´Arquivo Carregado´)
else
begin
showmessage(´Não foi possível carregar o arquivo´);
exit;
end;

// aqui abaixo eu abro os dataset1
sqlclientdataset1.CommandText := ´select * from clientes´;
sqlclientdataset1.Active :=true;


Responder

Gostei + 0

12/03/2004

Jubrovolski

Lembre-se que ele somente carregará o arquivo na execução. Por isso em tempo de projeto, você tem que especificar o tipo de conexão.

procedure TDataModule2.DataModuleCreate(Sender: TObject);
begin
sqlconnection1.Connected:=false;
sqlconnection1.ConnectionName := ´MySQLConnection´;
sqlconnection1.DriverName := ´MySQL´;
sqlconnection1.GetDriverFunc := ´getSQLDriverMYSQL´;
sqlconnection1.LibraryName := ´dbexpmysql.dll´;
sqlconnection1.LoadParamsOnConnect := True;
sqlconnection1.VendorLib := ´libmysql.dll´;

SqlConnection1.LoadParamsFromIniFile(´config.ini´);
if SQLConnection1.ParamsLoaded = true then
showmessage(´Arquivo Carregado´)
else
begin
showmessage(´Não foi possível carregar o arquivo´);
exit;
end;
end;


Responder

Gostei + 0

12/03/2004

Cabelo

Deu certo..

Valeu..

Estava tentando fazer como no Delphi 5, carregando parâmetro a parâmetro, mas vi que não tem como criar uma conexão em RUNTIME, simplesmente com o arquivo .INI, vc tem mesmo que abrir o componente e criar a conexão lá..

por isso dava erro..

mas infelizmente terei que abandonar a idéia..

Muito obrigado pela sua atenção..

sem mais

Cabelo


Responder

Gostei + 0

13/03/2004

Everton

mas vi que não tem como criar uma conexão em RUNTIME, simplesmente com o arquivo .INI, vc tem mesmo que abrir o componente e criar a conexão lá..


Cabelo,

em todos os meus sistemas durante o desenvolvimento eu crio uma conexão, porém quando distribuo a única alteração que faço é alterar o caminho do servidor, que carrego através de um arquivo INI. Para isso utilizo o seguinte comando:

SQLConnection.Close;
SQLConnection.Params.Values[´SERVER NAME´] := LocalGDB_informado_no_INI
SQLConnection.Open;

Não esqueça de fechar a conexão com o banco antes de compilar o programa.


qualquer dúvida estamos aqui.


Responder

Gostei + 0

16/03/2004

Cabelo

Caro Everton

Mudar as propriedades da conexão eu tb já faço..

O problem é que eu gostaria de criar a conexão, em tempo de execução..

Exemplo, quando entro no editor de conexões do SQLConnection, eu visualizo todas as conexões, dos programas a qual estou desenvolvendo. O que gostaria é de não criar estas conexões no componente, e sim somente na hora de rodar o sistema, entende?

Mesmo assim grato pela sua atenção.

sem mais

Cabelo


Responder

Gostei + 0

01/04/2004

Juamaral

Gostaria de saber como criar uma nove conexão no SQLConnection via run time, estou usando um arquivo .ini, mas não da certo


Responder

Gostei + 0

14/09/2007

Rdrigo

Alguém sabe me dizer os parametros a ser passados se o banco for Firebird ou Interbase???


Responder

Gostei + 0

14/09/2007

Cabelo

Colega..

Este é um exemplo de um arquivo .INI usando o Firebird...

[TE]
LIBRARYNAME=dbexpint.dll
GETDRIVERFUNC=getSQLDriverINTERBASE
VENDORLIB=gds32.dll
DRIVERNAME=Interbase
CONNECTIONNAME=TESTE

[TESTE]
DriverName=Interbase
Database=C:\TESTE.FDB
RoleName=RoleName
User_Name=SYSDBA
Password=masterkey
ServerCharSet=WIN1252
SQLDialect=3
BlobSize=-1
CommitRetain=False
WaitOnLocks=True
ErrorResourceFile=
LocaleCode=0000
Interbase TransIsolation=ReadCommited
Trim Char=true


se usar assim dentro do delphi tb funciona..

abs..


Responder

Gostei + 0

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

Aceitar