Conexão ADO em runtime

29/11/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:

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
[color=red:d73a0b8c10]Worstation ID=Path da rede[/color:d73a0b8c10]


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.


Paulo

Respostas

29/11/2005

Bon Jovi

Segue exemplo:
[SQLServer&93;
HostName=192.168.0.1
DatabaseName=db_estoque
function TXxxx.ObtemStringConexao: string;
const
  MODELO_STRING_CONEXAO =
    ´Provider=SQLOLEDB.1;Password=;Persist Security Info=True;´ +
    ´User ID=;Initial Catalog=;Data Source=´;
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, &91;&93;);
    StringConexao := StringReplace(StringConexao, ´´, Server, &91;&93;);
    StringConexao := StringReplace(StringConexao, ´´, ´usuario_teste´, [&93;);
    StringConexao := StringReplace(StringConexao, ´´, ´senha_teste´, &91;&93;);

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

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



Responder Citar

30/11/2005

Paulo

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


Responder Citar