como saber si un servidor SQL es presente

14/11/2005 - 22:09 por Javier | Informe spam
Es posible de terminar la existencia de un servidor de sql antes de proceder
ha hacer la conexion.

Javier

Preguntas similare

Leer las respuestas

#1 Ramón Rodríguez Martínez
16/11/2005 - 06:30 | Informe spam
Javier wrote:
Mostrar la cita
Puedes utiliza Sqlconnect o SqlStringConnect

Ambos regresan un estado de -1 si no hubo conexión

Para conocer las descripciones de los errores puede utiliza aerror y con
ello controlar lo que necesites.
#2 Gorka
16/11/2005 - 14:14 | Informe spam
A ver si esto te sirve:

local loSrv, loRslt
loSrv=CREATEOBJECT("SQLDMO.SQLServer")
loRslt=loSrv.Application.ListAvailableSQLServers()
FOR lnHaz=1 TO loRslt.count()
? loRslt.Item(lnHaz)
ENDFOR
RELEASE loRslt
RELEASE loSrv

Saludos.
Gorka
#3 Javier
17/11/2005 - 00:27 | Informe spam
Muchas gracias Gorka,
Eso era exactamente lo que buscaba

Nota :
si se agrega entre el parentesis final el numero de item devuelve el nombre
del servidor --> loRslt=loSrv.Application.ListAvailableSQLServers(1) ,

es posible determinar la lista BD. que componen el SERVER.?

"Gorka" wrote:

Mostrar la cita
#4 Gorka
17/11/2005 - 09:22 | Informe spam
Podemos ir un poco mas lejos.
prueba este codigo (cambia el usuario y contraseña) y te dejo para ti
el control de errores

LOCAL loSrv, loRslt, loSrvGrp, loDatas, loTables, loColGrp, loColumns,
loField
LOCAL lnHaz1, lnHaz2, lnHaz3, lnHaz4

CREATE CURSOR ObjData (Server c(20),Database c(20),Tabla c(20), Campo
c(20), tipo c(20), largo n(6), Precision n(3), escala n(3))

loSrv=CREATEOBJECT("SQLDMO.SQLServer")
loRslt=loSrv.Application.ListAvailableSQLServers()
FOR lnHaz1=1 TO loRslt.count
loSrv.Connect(loRslt.Item(lnHaz1),'usuario','contraseña') &&
Login al servidor
loDatas=losrv.Databases
FOR lnHaz2=1 TO loDatas.Count
loDatas.refresh()
loSrvGrp=loDatas.Item(lnHaz2)
loTables=loSrvGrp.Tables()
FOR lnHaz3=1 TO loTables.Count
loTables.refresh()
loColGrp=loTables.item(lnHaz3)
loColumns=loColGrp.columns
FOR lnHaz4=1 TO loColumns.count
loField=loColumns.item(lnHaz4)
INSERT INTO ObjData VALUES
(loRslt.Item(lnHaz1),loDatas.Item(lnHaz2).Name,loTables.item(lnHaz3).Name,loField.name,loField.Datatype,loField.Length,loField.NumericPrecision,loField.NumericScale)
ENDFOR
ENDFOR
ENDFOR
losrv.DisConnect
ENDFOR
RELEASE loSrv, loRslt, loSrvGrp, loDatas, loTables, loColGrp,
loColumns, loField
SELECT ObjData
BROWSE


Saludos
Gorka
Ads by Google
Search Busqueda sugerida