Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-08-2011
LIGERO LIGERO is offline
Miembro
 
Registrado: jun 2007
Posts: 42
Poder: 0
LIGERO Va por buen camino
Conexion ADO en tiempo de ejecucion

Buenas amigos.

Tengo SQL Server 2008 R2 express instalado y estoy realizando un programa que tienes que ejecutarse en varios ordenadores.
El programa debe acceder a la base de datos del servidor y para ello me gustaría poder hacer un formulario que cuando se ejecute el pregrama por primera vez acceda a los servidores SQL y los muestre en una lista y luego pida el usuario y el password.

He visto algo con Sql-DMO pero en esta versión de Sql no está incluido.

¿Como puedo hacerlo?

Muchas gracias
Responder Con Cita
  #2  
Antiguo 26-08-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
En qué realmente estás teniendo problemas? En iniciar sesión con la cuenta de usuario o en listar los servidores SQL Servers disponibles en tu red de área local?

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 26-08-2011
LIGERO LIGERO is offline
Miembro
 
Registrado: jun 2007
Posts: 42
Poder: 0
LIGERO Va por buen camino
Bueno, ya no tengo problema.
Encontré esta función y con un poquito de código mas, puedo acceder a los servidores SQL server que tengo instalados en mi red.

Código:
procedure ListAvailableSQLServers(Names : TStrings);
var
  RSCon                    : ADORecordsetConstruction;
  Rowset                   : IRowset;
  SourcesRowset            : ISourcesRowset;
  SourcesRecordset         : _Recordset;
  SourcesName, SourcesType : TField;
begin
  OleCheck(CoCreateInstance(CLASS_Recordset, nil, CLSCTX_INPROC_SERVER or
                            CLSCTX_LOCAL_SERVER, IUnknown, SourcesRecordset) );
  RSCon := SourcesRecordset as ADORecordsetConstruction;
  SourcesRowset := CreateComObject(ProgIDToClassID('SQLOLEDB Enumerator'))
                   as ISourcesRowset;
  OleCheck(SourcesRowset.GetSourcesRowset(nil, IRowset, 0, nil, IUnknown(Rowset)));
  RSCon.Rowset := RowSet;
  with TADODataSet.Create(nil) do
  try
    Recordset := SourcesRecordset;
    SourcesName := FieldByName('SOURCES_NAME'); { do not localize }
    SourcesType := FieldByName('SOURCES_TYPE'); { do not localize }
    Names.BeginUpdate;
      try
        while not EOF do
        begin
          if (  (SourcesType.AsInteger = DBSOURCETYPE_DATASOURCE) and
                (SourcesName.AsString <> '')
             )
          then
            Names.Add(SourcesName.AsString);
          Next;
        end;
      finally
        Names.EndUpdate;
     end;
  finally
    Free;
  end;
end;
Muchas gracias a todos y espero que os pueda servir a algunos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Conexión DBExpress en tiempo de ejecución pache Conexión con bases de datos 0 10-05-2007 17:32:46
Intentar conexion FB en tiempo de ejecución taita Firebird e Interbase 4 30-11-2005 22:00:45
Conexion a Acces via Ado en tiempo de ejecución mgaray Conexión con bases de datos 0 12-11-2004 23:46:28
Error en conexión en tiempo de ejecución !! Lester Conexión con bases de datos 8 12-06-2003 21:46:04
Conexión en tiempo de ejecución con DBExpress Ana Conexión con bases de datos 3 04-06-2003 12:10:37


La franja horaria es GMT +2. Ahora son las 06:49:30.


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
Copyright 1996-2007 Club Delphi