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:
Es posible de terminar la existencia de un servidor de sql antes de proceder
ha hacer la conexion.

Javier



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.
Respuesta Responder a este mensaje
#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
Respuesta Responder a este mensaje
#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:

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


Respuesta Responder a este mensaje
#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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida