![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
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 |
|
#2
|
||||
|
||||
|
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 |
|
#3
|
|||
|
|||
|
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;
|
![]() |
|
|
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 |
|