Posteado por: alejandrolaorden | 25 octubre, 2008

Lista de Servidores SQL disponibles

Hola, publico el único algoritmo que me ha funcionado en Delphi para encontrar los servidores activos de SQL disponible.

También listar servidores de sql server desde TSQL

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, ActiveX, ComObj, AdoInt, OleDB, StdCtrls;
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;

//Si queréis un ejemplo completo, con servidores sql server y bases de datos, descargadlo aquí

Responses

  1. Gracias, me ha sido de mucha ayuda


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: