Dbx e MsSql Server dando pau

Delphi

23/11/2010

Não estou conseguindo logar minha conexão com o banco do cliente. Na minha máquina funciona bem, mas eu uso Autenticação do Sql Server e no cliente está como Windows Authentication. Abaixo meu código e meu parâmetro de conexão.  
procedure TDM_Principal.DataModuleCreate(Sender: TObject);
var
 arq_conexao: TiniFile;
 path,
 banco,
 arquivo: String;
begin
  conexao := Sqlconnection1;
  path := ExtractFilePath(Application.ExeName);
  arquivo := path + ExtractFileName('Conexao_Global.ini');
  arq_conexao := TIniFile.Create(arquivo);
  banco := arq_conexao.ReadString('conexao_atual','banco_atual','');
  if banco = 'SqlServer' then
  begin
    SqlConnection1.ConnectionName                          := 'Mairibel';
    SqlConnection1.DriverName                              := 'MSSQL';
    SqlConnection1.GetDriverFunc                           := 'getSQLDriverMSSQL';
    SqlConnection1.LibraryName                             := 'dbxmss30.dll';
    SqlConnection1.LoginPrompt                             := False;
    SqlConnection1.VendorLib                               := 'OleDb';
    SqlConnection1.Params.Values['DriverName']             := arq_conexao.ReadString('SqlServer','DriverName','');
    SqlConnection1.Params.Values['SchemaOverride']         := arq_conexao.ReadString('SqlServer','SchemaOverride','');
    SqlConnection1.Params.Values['DriverUnit']             := arq_conexao.ReadString('SqlServer','DriverUnit','');
    SqlConnection1.Params.Values['DiverPackageLoader']     := arq_conexao.ReadString('SqlServer','DiverPackageLoader','');
    SqlConnection1.Params.Values['DriverAssemblyLoader']   := arq_conexao.ReadString('SqlServer','DriverAssemblyLoader','');
    SqlConnection1.Params.Values['MetaDataPackageLoader']  := arq_conexao.ReadString('SqlServer','MetaDataPackageLoader','');
    SqlConnection1.Params.Values['MetaDataAssemblyLoader'] := arq_conexao.ReadString('SqlServer','MetaDataAssemblyLoader','');
    SqlConnection1.Params.Values['HostName']               := arq_conexao.ReadString('SqlServer','HostName','');
    SqlConnection1.Params.Values['DataBase']               := arq_conexao.ReadString('SqlServer','DataBase','');
    SqlConnection1.Params.Values['User_Name']              := arq_conexao.ReadString('SqlServer','User_Name','');
    SqlConnection1.Params.Values['Password']               := arq_conexao.ReadString('SqlServer','password','');
    SqlConnection1.Params.Values['BlobSize']               := arq_conexao.ReadString('SqlServer','BlobSize','');
    SqlConnection1.Params.Values['LocaleCode']             := arq_conexao.ReadString('SqlServer','LocaleCode','');
    SqlConnection1.Params.Values['ErrorResourceFile']      := arq_conexao.ReadString('SqlServer','ErrorResourceFile','');
    SqlConnection1.Params.Values['MSSQL TransIsolation']   := arq_conexao.ReadString('SqlServer','MSSQL TransIsolation','');
    SqlConnection1.Params.Values['OS Authentication']      := arq_conexao.ReadString('SqlServer','OS Authentication','');
  end;
end;
 
[conexao_atual]
banco_atual=SqlServer

[SqlServer]
DriverName=MsSql
SchemaOverride=%.dbo
DriverUnit=DBXDynalink
DiverPackageLoader=TDBXDynalinkDriverLoader,DBXDynalinkDriver100.bpl
DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxDynalinkDriver,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
MetaDataPackageLoader=TDBXMsSqlMetaDataCommandFactory,DbxReadOnlyMetaData100.bpl
MetaDataAssemblyLoader=Borland.Data.TDBXMsSqlMetaDataCommandFactory,Borland.Data.DbxReadOnlyMetaData,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b
HostName=.
DataBase=Cosmeticos
User_Name=
Password=
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
MSSQL TransIsolation=ReadCommited
OS Authentication=True
Está faltando mais alguma coisa? Como eu disse, na minha casa funciona. Lá nesta empresa já funciona outro programa com Sql Server, só o meu que não funciona. Que tristeza. Quando eu usaei lá o MySql funcionava com ZEOS, mas tive que mudar e agora preciso receber e tenho que fazer funcionar esse troço. O dono ainda não sabe que não funcionou com MsSql Server.


Pjava

Pjava

Curtidas 0

Respostas

Leonardo Xavier

Leonardo Xavier

23/11/2010

Qual mensagem de erro ;e apresentada para você quando você tenta conectar?
GOSTEI 0
Pjava

Pjava

23/11/2010

Connect() Open ou Server Inexixtente. Essa é a mensagem.
GOSTEI 0
Pietro Braga

Pietro Braga

23/11/2010

Tente copiar o MIDAS.DLL para a pasta system32 do seu cliente...
GOSTEI 0
Pjava

Pjava

23/11/2010

Isso já fiz
GOSTEI 0
Pjava

Pjava

23/11/2010

Já foi resolvido. Eu retirei todas aquelas linhas que são fixas na conexão do .INI e deixei somente as essenciais: Host,User,Psswd e umas outras poucas lá. Também estava dando erro numa tabela que não existia. Como eu havia colocado o código no OnCreate do DM, ele não achava a tabela e não abria o programa. Mudei para o OnBeforeConnect do TSqlConnection, aí o programa abria e ao tentar conectar ele dava o erro que o objeto XXXX não existia. Rodei o novo Script e foi lá. Não sei se no início era isso ou aquele monte linha de conexão(acho que era isso). Só não sei como fazer nesseforum para marcar como resolvido.
GOSTEI 0
Leonardo Xavier

Leonardo Xavier

23/11/2010

Para marcar como resolvido tem um item com esta definiçao em todos os usuários que te deram "suporte" neste tópico Marque se ajudou ou nao. Abraços
GOSTEI 0
POSTAR