DBExpress carregar parametros de conexão

04/11/2005

Caros colegas, como faço para carregar os paramentros de conexão ao iniciar o programa.

Grato

Eleusis.


Eleusis

Respostas

04/11/2005

Firekiller

Uma forma bem simples seruia, no evento OnCreate do Datamodule, você colocar assim:

if FileExists( ´ArqConf.Cfg´ ) then
SQLConnection.Params.LoadFromFile( ´ArqConf.Cfg´ );

E no arquivo ArqConf.Cfg você colocaria assim (um pequeno exemplo usando firebird):

Database=Localhost:C:\Arq\Base.FDB
Charset=Win1252
//Outras instruções


Responder Citar

04/11/2005

Eleusis

Estou acessando o SQL Server 2000
Onde deve ficar este arquivo ?
No mesmo diretório do executável?
estou testando, mas só que da um erro:
de uma olhada no arquivo

ConnectionName=TT
DriverName=MSSQL
HostName=200.168.124.241
DataBase=CEUNSP
User_Name=sa
Password=
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
MSSQL TransIsolation=ReadCommited
OS Authentication=False
libraryName=dbexpmss.dll
vendorlib=oledb

oque está errado?

Grato Eleusis


Responder Citar

04/11/2005

Firekiller

Dados como libraryname, vendorlib não entram nesse arquivo. O arquivo deve estar na mesma pasta do executável, e a propriedade connected não pode estar true.
Qual a mensagem de erro??


Responder Citar

04/11/2005

Eleusis

a mensagem de erro é: Missing DriverName property

o q será que acontece?


Responder Citar

04/11/2005

Firekiller

É que na verdade você já deixa definido o DriverName, LibraryName, Vendor lib... no exemplo que citei, o que é pego do arquivo, são os params do SqlConnection.


Responder Citar

05/11/2005

Eleusis

Me desculpe não ter respondido ontem, pois minha internet caiu e não voltou.
Vamos lá, estou fazendo o seguinte, no computador onde desenvolvi o sistema ele carrega, mas se ponho o programa no servidor , para que todos acessem, o programa da este erro: Missing drivername...
o q pode ser.

Grato
Eleusis


Responder Citar

05/11/2005

Martins

Me desculpe não ter respondido ontem, pois minha internet caiu e não voltou. Vamos lá, estou fazendo o seguinte, no computador onde desenvolvi o sistema ele carrega, mas se ponho o programa no servidor , para que todos acessem, o programa da este erro: Missing drivername... o q pode ser. Grato Eleusis

[b:3b56336e47]
DriverName=MSSQL [/b:3b56336e47] este pode ser o motivo do erro, esse driver está lá no servidor tb.?


Responder Citar

05/11/2005

Martins

[quote:c75e5b9433=´Eleusis´]Me desculpe não ter respondido ontem, pois minha internet caiu e não voltou. Vamos lá, estou fazendo o seguinte, no computador onde desenvolvi o sistema ele carrega, mas se ponho o programa no servidor , para que todos acessem, o programa da este erro: Missing drivername... o q pode ser. Grato Eleusis

[b:c75e5b9433]
DriverName=MSSQL [/b:c75e5b9433] este pode ser o motivo do erro, esse driver está lá no servidor tb.?[/quote:c75e5b9433]

Vc tá usando DbExpress correto? Então onde está o seu arquivo [b:c75e5b9433]dbxconnections.ini[/b:c75e5b9433]? ele deverá ficar no diretório do executáel.

[b:c75e5b9433]Veja abaixo a estrutura do arquivo[/b:c75e5b9433]
[MSSQLConnection&93;
DriverName=MSSQL
HostName=ServerName
DataBase=Database Name
User_Name=user
Password=password
BlobSize=-1
LocaleCode=0000
MSSQL TransIsolation=ReadCommited
OS Authentication=False


Este arquivo deve ser distribuído com suas aplicações ok!

vc poderá encontrá-lo na pasta:
[b:c75e5b9433] C:\Arquivos de programas\Arquivos comuns\Borland Shared\DBExpress[/b:c75e5b9433]

Espero q isso o ajude!!

Boa Sorte!!


Responder Citar

05/11/2005

Firekiller

Colega Martins, se eu não estou enganado, você apenas deve levar o arquivo dbxconnections.ini se a propriedade loadParams tiver marcada com true. Se não tiver, não precisa.

Faço apenas dessa forma que citei ao colega, (carregando os parâmetros de um arquivo qualquer), e não tive problemas com a conexão. Mas de qualquer forma, se for usar esse arquivo, não há necessidade de se levar o arquivo que citei, pois todas as configurações estariam no arquivo ini.

Ao colega Eleusis, você se lembrou de levar as dll´s correspondentes a sua conexão?? (dbexpmss.dll , etc)


Responder Citar

05/11/2005

Martins

Colega Martins, se eu não estou enganado, você apenas deve levar o arquivo dbxconnections.ini se a propriedade loadParams tiver marcada com true. Se não tiver, não precisa. Faço apenas dessa forma que citei ao colega, (carregando os parâmetros de um arquivo qualquer), e não tive problemas com a conexão. Mas de qualquer forma, se for usar esse arquivo, não há necessidade de se levar o arquivo que citei, pois todas as configurações estariam no arquivo ini. Ao colega Eleusis, você se lembrou de levar as dll´s correspondentes a sua conexão?? (dbexpmss.dll , etc)


Blz colega [b:649a7272d3]Firekiller[/b:649a7272d3], mas é q o nosso colega não informou tb se o propriedade [b:649a7272d3]LoadParams[/b:649a7272d3] estava setada para true, ou se estava com padrão false, então resolvi citar o uso do arquivo [b:649a7272d3]dbxconnections.ini[/b:649a7272d3], ele agora tem duas opções, hehehe, e bem lembrado, se bem q eu tb já lembrei isso, os arquivos [b:649a7272d3]Lib[/b:649a7272d3].

Esperemos q ele resolva essa problemática.

Boa Sorte!!!


Responder Citar

05/11/2005

Firekiller

Blz... foi apenas uma observação minha, isso porque por padrão, ele vem setado como false.... foi só observação mesmo.


Responder Citar

07/11/2005

Martins

Blz... foi apenas uma observação minha, isso porque por padrão, ele vem setado como false.... foi só observação mesmo.

Tranquilo, não tem erro não.

Abraço!!!


Responder Citar

11/11/2005

Eleusis

Caro Martins,
Se tenho na minha query um join, ou seja , usando duas ou mais tabelas, como faço para alterar os dados da tabela principal ? Uso o join para carregar dados das chaves estrangeiras em um grid. Mais quando dou applyupdates ele dá um erro, me dizendo que não existem os campos definidos no clientdataset, no caso os campos da outra tabela.
Como resolver este problema ?

Grato
Eleusis


Responder Citar

11/11/2005

Emerson

desculpe a intromissão...

mas para resolver esse problema coloque o providerflags desses campos ´estrangeiros´ para [pfHidden] (somente essa flag deve ficar setada). assim os campos ficarão ´escondidos´ no momento das alterações.

eu faço isso no datasetprovider. mas vc pode tentar alterar no próprio clientdataset, desde que tenha persistido os campos.


Responder Citar

11/11/2005

Eleusis

Caro Emerson, tentei fazer isso mas dá a seguinte mensagem de erro:
Invalid column name ´Descricao´ e outros campos da chave estrangeira.
Coloquei a instrução que vc me disse, (Hidden) nos campos do ClientDataSet, mas não resolveu. Não achei uma maneira de fazer isso no datasetprovider, como fazer ?

Grato
eleusis


Responder Citar