La Web del Programador: Comunidad de Programadores
 
    Pregunta:  5515 - RUN TIME ERROR 20599
Autor:  Hector de la Rosa M.
Tengo el siguiente mensaje al correr mi aplicacion
en vb6 con el crystal reports al ejecutar el programa me manda el error de Run Time Error 20599 Cannot Open SQL Server
alguien me podra ayudar se los agradecere gracias
un saludo

  Respuesta:  Héctor Niño
En el sig. ejemplo yo use Crystal Reports 8 (desarrollador) con Sql 7.0, el reporte tiene como origen de datos un procedimiento almacenado en sql server.
Dim lcryAplicReporte As New CRAXDRT.Application
Dim lcryParametros As CRAXDRT.ParameterFieldDefinitions
Dim lcryParametro As CRAXDRT.ParameterFieldDefinition
'Abre el archivo de reporte
Set gcryReporte = lcryAplicReporte.OpenReport("c:\ok.rpt")
'Se conecta con sql server
gcryReporte.Database.Tables.Item(1).SetLogOnInfo "Servidor", "BaseDatos", "ClaveUsuario", "ClaveAcceso"
'Cambia algunas caracteristicas del reporte
gcryReporte.DisplayProgressDialog = False
gcryReporte.EnableParameterPrompting = False
'Define parametros para Crytstal reportes y para el
'procedimiento almacenado
Set lcryParametros = gcryReporte.ParameterFields
For Each lcryParametro In lcryParametros
With lcryParametro
Select Case .ParameterFieldName
'Parametro que usara Crytal Reports
Case "prmCryFechaIni": .SetCurrentValue Now()
'Parametro pasado al proceso almacenado en Sql Server
Case "prmSqlFechaIni": .SetCurrentValue Now()
End Select
End With
Next lcryParametro
'Envia el reporte al destino correcto
Select Case giDestino
Case 1 'Impresora
gcryReporte.SelectPrinter Printer.DriverName, Printer.DeviceName, Printer.Port
gcryReporte.PaperOrientation = crLandscape
gcryReporte.PrintOut False, gstcReporte.iCopias
Case Else
frmVtasMesRep.Show vbModal
Set frmVtasMesRep = Nothing
End Select
DoEvents
'Libera memoria
Set gcryReporte = Nothing
Set lcryAplicReporte = Nothing
Set lcryParametros = Nothing
Set lcryParametro = Nothing

Espero te sirva, solo te pido que me avises si te funciono