Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Windows Authentication y Sql Server 2008 (https://www.clubdelphi.com/foros/showthread.php?t=70913)

Paulao 18-11-2010 21:41:09

Windows Authentication y Sql Server 2008
 
Este es mi codigo para el banco de datos
Código Delphi [-]
.....
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;
Y este es mi archivo INI
Código Delphi [-]
[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=INETSOFTWARE-PC\SQLExpress
DataBase=Global_Cosmeticos
User_Name=sa
Password=simbad
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
MSSQL TransIsolation=ReadCommited
OS Authentication=False
Yo tengo un cliente que el Sql Server es Windows Authentication y por esto no estas funcionando, o sea, no abre el programa porque no encuentra el banco de datos. No se como configurar mi INI para funcionar. En OS Authentication yo pongo True. En HostName del cliente estas un .(punto) y no tiene password y tambien el user_name es ADVPC\Administrador, pero no se mas el que hacer para funcionar. Las Dll's: Midas.dll y dbxmss30.dll estan en la carpeta del ejecutable, pero no es esto, el error es: Connection() open or Server inexistente.

mamcx 19-11-2010 03:51:59

Asi de pasada, elimina el username y el pwd. Autenticacion por OS utiliza el usuario que levanta la aplicacion por defecto, no se pasa el usuario en ningun lado...

Paulao 22-11-2010 12:19:27

Yo lo hizo y no funcionó. Hay alguna otra cosa que devo hacer en Delphi? Cargar otra Dll o cosa asi:

Paulao 23-11-2010 18:39:16

Señores, no se lo que hacer para funcionar. Tengo mas alguna cosa para hazer con DbExpress? En mi cliente es la Autenticacion por Windows.

mamcx 23-11-2010 20:28:34

Empieza por probar directamente sin tantas propiedades. Para conectarse solo necesitas: Host, base de datos & autenticacion por OS. Los demas parametros son opcionales.

Lo otro es revisar que puedas conectarse a sql server usando alguna herramienta de administracion.

Si estas usando sql server express, recuerda que la cadena de conexion es diferente:

http://www.connectionstrings.com/

Paulao 23-11-2010 21:07:49

Hago tudo en el Sql Server 2008. Inclusive hay otro software que es en Delphi y usa DBX y el conecta tranquilo con Sql Server 2008(XE), pero yo no estoy conseguindo hacer una conecion. En mi casa funciona tranquilo, pero es SQL Authentication y no Windows Authentication.


La franja horaria es GMT +2. Ahora son las 18:11:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi