Array
(
)

Conexão ADO em runtime

Paulo
   - 29 nov 2005

Para fazer o MsSql Server funcionar em rede, quais os parâmetros que devo alterar na conexão? Eis a minha conexão fixa que fiz:


Citação:
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SisPed;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=DESENVOLVIMENTO;Use Encryption for Data=False;Tag with column collation when possible=False


Acredito que eu devo alterar somente o parâmetro
Citação:
Worstation ID=Path da rede


Posso colocar todos esses parãmetros num arquivo txt ou ini, e montar a minha conexão em runtime, certo, ao invés de design time? Estou sem poder testar em rede aqui, por isso o post, pois trabalho só e tenho uma única máquina. Gostaria de ir para o cliente sabendo o que vou fazer, pra não pegar mal, tipo não abrir em rede e etc...

Essa é minha dúvida.


Bon Jovi
   - 29 nov 2005

Segue exemplo:
#Código

[SQLServer]
HostName=192.168.0.1
DatabaseName=db_estoque
#Código
function TXxxx.ObtemStringConexao: string;
const
MODELO_STRING_CONEXAO =
´Provider=SQLOLEDB.1;Password={PASSWORD};Persist Security Info=True;´ +
´User ID={USERNAME};Initial Catalog={DATABASE};Data Source={SERVER}´;
var
INI: TIniFile;
StringConexao, Database, Server: string;
begin
INI := TIniFile.Create(ExtractFileDir(Application.ExeName) + ´\Config.ini´);
try
Database := INI.ReadString(´SQLServer´, ´DatabaseName´, ´´);
Server := INI.ReadString(´SQLServer´, ´HostName´, ´´);

StringConexao := MODELO_STRING_CONEXAO;
StringConexao := StringReplace(StringConexao, ´{DATABASE}´, Database, []);
StringConexao := StringReplace(StringConexao, ´{SERVER}´, Server, []);
StringConexao := StringReplace(StringConexao, ´{USERNAME}´, ´usuario_teste´, []);
StringConexao := StringReplace(StringConexao, ´{PASSWORD}´, ´senha_teste´, []);

Result := StringConexao;
finally
INI.Free;
end;
end;

procedure TXxxx.ADOConnection1BeforeConnect(Sender: TObject);
begin
ADOConnection1.ConnectionString := ObtemStringConexao;
end;



Paulo
   - 30 nov 2005

Valeu, Bon Jovi, não testei, mas já deu pra notar que é da hora.