Dbx e MsSql Server dando pau
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.
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.
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
Pjava
Curtidas 0
Respostas
Leonardo Xavier
23/11/2010
Qual mensagem de erro ;e apresentada para você quando você tenta conectar?
GOSTEI 0
Pjava
23/11/2010
Connect() Open ou Server Inexixtente. Essa é a mensagem.
GOSTEI 0
Pietro Braga
23/11/2010
Tente copiar o MIDAS.DLL para a pasta system32 do seu cliente...
GOSTEI 0
Pjava
23/11/2010
Isso já fiz
GOSTEI 0
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
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