Error 20599 Cannot open SQL Server o No se Puede abrir el servidor de SQL (Cyrstal Reports 8 y 8.5)


Por:Raul Macias

El error 20599 Cannot open SQL Server o en español No se puede abrir el servidor de SQL se presenta en algunos Windows XP y Windows Vista al querer abrir el control de Crystal Reports en su método Action=1 y querer conectarlo a una base de datos de SQL o Access, la solución que encontré después de investigar en varios foros(frustrándome al no encontrar una solución 10 horas mas de Psicólogo),hacer una recolección de versiones de archivos de aquí y de por allá decidiéndome ponerme a prueba y error a tratar de encontrar la solución de el problema, dando como resultado un conjunto de archivos que fueron  los siguientes:

Archivo

Versión

p2ssql.dll 8.5.0.19
p2sodbc.dll 8.5.0.72
ntwdblib.dll 2000.2.8.0
cpeaut32.dll 8.5.0.9
crpe32.dll 8.5.0.217
Crystl32.OCX 8.0.0.4

Solución 1

  1. En algunos equipos con solamente copiar el archivo p2ssql.dll y ntwdblib.dll en el directorio C:\Windows\System32 se soluciono el problema(No es necesario registrarlos con REGSRV32.exe).
  2. Ejecutar la aplicación con el problema para ver si ya no se presenta el error 20599.

Solución 2

Después de que no funciona la Solución 1

  1. Des registrar el Crystl32.OCX con el REGSRV32.exe(C:\Windows\System32\REGSRV32.exe /u [Path]\Crystl32.OCX).
  2. Respladar los archivos a remplazar si existen en C:\Windows\System32.
  3. Copiar los archivos cpeaut32.dll,crpe32.dll,Crystl32.OCX en C:\Windows\System32 (registrar en el orden cpeaut32.dll,crpe32.dll,Crystl32.OCX).
  4. Ejecutar la aplicación con el problema para ver si ya no se presenta el error 20599.

En el 99% de los equipos en los que se aplico esta receta de cocina se corrigió el error.

Hasta el momento después de 2 Años que se presento la primera ves el error esta es la solución que encontré.

Archivos: Descargar

Observación

El Archivo REGSRV32.exe se encuentra en la ruta C:\Windows\System32\

English Text

Error 20599 Cannot open SQL Server (Cyrstal Reports 8 and 8.5)

The error 20599 Can not open SQL Server in Windows XP and Windows Vista when they wanted to open the Crystal Reports control method in Action = 1 and want to connect to a database SQL or Access, the solution I found after research in various forums (disappointed not to find a psychologist more than 10 hours), a collection of versions of files from here and there I decided to try and error to try to find the solution of the problem, resulting in a set of files that were:

File

Version

p2ssql.dll 8.5.0.19
p2sodbc.dll 8.5.0.72
ntwdblib.dll 2000.2.8.0
cpeaut32.dll 8.5.0.9
crpe32.dll 8.5.0.217
Crystl32.OCX 8.0.0.4

Solution 1

  1. On some computers with just copy the file p2ssql.dll and ntwdblib.dll in C: \ Windows \ System32 solves the problem (need not register with REGSRV32.exe).
  2. Run the application to see if the problem is no longer the error 20599.

Solution 2

After that it does not work Solution 1 .

  1. Unregister Crystl32.OCX record with REGSRV32.exe (C: \ Windows \ System32 \ REGSRV32.exe / u [Path] \ Crystl32.OCX)
  2. Backup files to replace if they exist in C: \ Windows \ System32.
  3. Copy files cpeaut32.dll, crpe32.dll, Crystl32.OCX in C: \ Windows \ System32 (register in order cpeaut32.dll, crpe32.dll, Crystl32.OCX).
  4. Run the application to see if the problem is no longer the error 20599.

In 99% of the equipment in which it applies kitchen prescription error was corrected.
So far after 2 years to present the first time this error is the solution I found.

Files: Download

Comment

The file REGSRV32.exe is in the path C: \ Windows \ System32 \

Traducir a Ingles – Translate to English

Google

Acerca de

Algunos de los proyectos en los cuales me encuentro trabajando o en los cuales participe.

Tagged with: , , , , , , , , , , , , , , , , , , ,
Publicado en Sin Categoria
54 comments on “Error 20599 Cannot open SQL Server o No se Puede abrir el servidor de SQL (Cyrstal Reports 8 y 8.5)
  1. De donde bajo los archivos??? dice:

    Como y de donde puedo bajar los archivos mencionados en tu solución 1

    Agradeceré pronta respuesta

  2. No funcionó dice:

    La verdad es que no funcionó, si corro el reporte solo desde crystal funciona bien pero al llamarlo desde mi programa de Visual Basic 6, sigue arrojando el mismo error.

    Lo que me he percatado es que si el reporte lo modifico y no muestro ningún campo, aunque el reporte este conectado al procedimiento almacenado de sql, lo muestra, sin embargo, cuando lo vuelvo a modificar y muestro registros, me arroja el error.

    • raulmacias dice:

      Antes que nada perdón por la tardanza en contestarte pero estuve desconectado, como recomendación te sugiero que veas como dejaste la conexión en tu reporte y después veas como estas le pasas la conexión al active x de Crystal en este post tengo un ejemplo de un proyecto de Visual Basic, dos reportes que utilizan una tabla y un procedimiento almacenado y la forma de abrir la conexión a SQL server desde el mismo Crystal Reports y desde Visual Basic.

      Evitar el error 20599 Cannot Open SQL Server de Crystal Reports

      Quedo en espera de tus comentarios.

  3. […] un post anterior explique cuales eran las Dlls que había encontrado para evitar el error 20599 Cannot Open SQL […]

  4. DAVID VILLATORO dice:

    SI EN CRYSTAL REPORT 8.5 SE UTILIZA UNA BD DE ACCESS 2003 ENLAZADA CON VB6, Y EN SU EVENTO CR1.ACCION = 1 SE MUESTRA EL ERROR 20599 NO SE PUEDE ABRIR EL SERVIDOR SQL, PUES LA SOLUCION PARA ELLO ES REDIRECCIONARA NUEVAMENTE EL ORIGEN DE LA BASE DE DATOS, DEBIDO A QUE SE INTENTO CONECTAR CON UN SERVIDOR ANTERIORMENTE. CAMBIANDO LA OPCION DESDE MAS ORIGENES DE DATOS Y ENLAZARLO CON MICROSOFT.JET. 4.0 Ó 3.51 DEPENDIENDO DE LA FORMA DE USO DE LA BD.

  5. carlos dice:

    Hola. En tu solució 2 dices que se debe registrar el archivo Crystl32.OCX y das una instruccion. Pero ¿como registro ese archivo? ¿donde tecleo esa instruccion?. Gracias

    Des registrar el Crystl32.OCX con el REGSRV32.exe(C:\Windows\System32\REGSRV32.exe /u [Path]\Crystl32.OCX).

    • raulmacias dice:

      Desde la consola de MS-Dos de windows.
      El archivo y proceso regsvr32.exe es un proceso que pertenece al sistema operativo Windows y es empleado para registrar librerías DLL y controles ActiveX en le registro de Windows.
      Ubicación típica:
      C:\Windows\system32\regsvr32.exe

  6. carlos dice:

    Hola. La opcion 1 no funcionó. La opcion 2 no entiendo como hacer eso de registrar el Crystl32.OCX con el Regsvr32. ¿Como hago eso?¿Donde lo hago?¿Donde tecleo esa instruccion?. Gracias

  7. Pakko dice:

    Tengo una aplicacion entre vb6 y una bd en formato access 2000, al generar el reporte en crystal 8.5 y al llegar a la instrucción cr1.Action = 1 me da el error 20599 Cannot open SQL Server, ya registre las dlls como mencionaste pero sigue apareciendo el error, no se como solucionarlo, si alguien del foro sabe como lo puedo corregir se los agradeceria de antemano muchas gracias

  8. Jeison Gonzalez P dice:

    Mil y Mil gracias, Habia una compañera q no daba con el chiste y le logre solucionar!

  9. Nelson Venegas Varas dice:

    Estimados, la solucion es bantante simple, abran el reporte refresquen los datos y listo, chao mensaje de error….. bless

  10. jhoanny dice:

    esta solucion es una porqueria no funciona…

  11. Felipe dice:

    Yo tenia un error igual pero con el paso No.1 se soluciono.
    al llamar el reporte salia ese error,
    solo me baje p2ssql.dll y el ntwdblib.dll lo copie de SQL .
    Gracias por poner esta info, porque me pase horas buscando.
    saludos

  12. jota dice:

    Hola! mil gracias por los intentos de ayuda! que veo que a algunos les ha funcionado, pero a mi no.

    he bajado los dlls que dice Raul y los he puesto tanto en la carpeta de c:\windows\crystal como en c:\windows\system32

    pero a la hora de registrar con regsvr32 el p2ssql.dll me lanza el siguiente error:
    «p2ssql.dll was loaded, but the DllRegisterServer entry point was not found

    this file can not be registered»

    estoy desarrollando un aplicativo en vb6 apuntando a una base de datos SQL Server 2005 Express y el Crystal Report 8.5

    El OLE DB Provider que estoy usando es el SQL Native Client. y he probado cambiarlo a Microsoft OLE DB Provider for SQL Server y nada.

    NOTA: el «Error 20599 Cannot open SQL Server» me esta dando desde la pc que estoy usando como desarrollador, o sea, no es en el cliente.

    de mas esta decir lo mayor agradecido que estaria si alguien podria hechar una mano.

    • jota dice:

      yo otra vez.
      miren, navengando y navegando, me tope con este comentario:

      «El error de Cannot open SQL Server, lo dice cuando no puede entrar a obtener los datos de las tablas que necesita para generar el informe. Las causas pueden ser por que no tenga la contraseña de acceso o por que el ODBC o conexión a la base de datos no sea correcto.»

      lo que se me encendio algo en el cerebro.

      y es esto, cuando creo el reporte en CR lo creo con el usuario «sa» y cuando lo intento invocar desde el aplicativo, lo hago con otro usuario cualquiera y ahi esta el error.

      para probarlo, antes de asignarle la conexion a cr.connect, cambie el string y le puse sa y su clave y listo, lo hizo.

      ahora a investigar si vale la pena cambiar este string cada vez que vaya a imprimir un reporte o como hacer que el crystal entienda que es otro usuario y lo deje pasar.

      gracias de todas formas y acepto sugerencias.

    • Paco dice:

      No tienes que registrar los DLL solo el OCX

      Las librerias solo deber copiadas en la ruta mencionada y el OCX si registrarlo

  13. Paco dice:

    Gracias por el aporte

    conmigo funciono a la maravilla

    Saludos

  14. Migue dice:

    Estimado puedes subir el archivo de nuevo el link se encuentra malo.

  15. Gustavo Obando dice:

    Gracias por la solución pero de dónde puedo bajar el archivo Zip con los DLL y el OCX porque el Link esta roto?. Me urge la solución.

  16. elianc dice:

    Hola a todos …ya se me quito el error 20 599 …ahora me aparece el 20728 en tiempo de ejecucion «f» … si alguien sabe y pueda aportarme la solucion de antemano gracias

  17. slotmadrid dice:

    Buenas, por fvaor podías subir de nuevo los ficheros que no puedo acceder. Espero que el problema no sea mio.

    Saludos y gracias de antemano

  18. dikson dice:

    amigo, esta bueno, el atriculo, pero los archivos no lo puedo bajar. ¿Cuando vuelves a subirlo?

  19. kato dice:

    hola ya intente las dos opciones y no me funcionan, solo que no pude registrar crpe32.dll solo lo copie, y la opcion
    «y es esto, cuando creo el reporte en CR lo creo con el usuario “sa” y cuando lo intento invocar desde el aplicativo, lo hago con otro usuario cualquiera y ahi esta el error.

    para probarlo, antes de asignarle la conexion a cr.connect, cambie el string y le puse sa y su clave y listo, lo hizo.»

    no se como hacerla me podrian ayudar!!!

  20. kato dice:

    estoy viendo la liga que colocaste en tu mensaje, la vdd soy nueva en crystal, hice un reporte el cual tiene subreportes y en mi maquina si funciona pero en otros equipos no, hace como si mostrara pero truena en el rptReporte.Action = 1, el reporte lo hago ingresando en odbc no en More Data Sources que por cierto a mi no me da la opcion de Microsoft Sql Server y al intentar crear otro odbc seleccionando configuracion cliente en alias del servidor y nombre del servidor tengo el nombre del servidor no la ip pero no me acepta usuario sa marca sqlsate 28000
    Sera por los subreportes??

  21. kato dice:

    pos data mil gracias por contestar, ojala con tu ayuda pueda solucionar mi problema 😀

  22. kato dice:

    sabes como asignar el origen de datos al reporte desde vb antes de llamarlo, ya ke en un equipo al abrir directamente el reporte en crystal me pide que signe el origen de datos y despues me muestra la informacion

  23. kato dice:

    gracias gracias por tu apoyo, ya enconte mi error, resulta que genere un odbc con un nombre pero en el sistema se conecta a otro odbc por eso no hay conexion, hice una prueba en un equipo ke no funcionaba generando un odbc con mi nombre y se abrio pero tendria que generarlo en todos los equipos y pues no, me piden cambiar el reporte el cual se me complico hacerto porq soy nueva en crystal y ahora que lo intento hacer de nuevo tengo conflictos para ligar los subreportes, mm tengo que cambiarle el odbc al que esta ligado ( el nombre ) …… sabes como??

  24. ASKEL dice:

    Hola Tengo un programa de VB que genera reporte en Crystal Reports y esta conectado a una bd de Sql Server 2008, en todas las maquinas cleintes funciona correctamente el programa, pero tengo una que tiene Windows 7 de 32 bits, el programa funciona bien en esta maquina inclusive manda un preliminar de los reportes pero el problema se presenta cuando mando a imprimir y es cuando manda el error: 20599 Cannot Open Sql Server. Probe con la solucion 1 y no funciono. No he probado con la 2 porque no se como registrar los archivos, mucho te agradecere de ser posible que me ayudes …….. También quise bajar los archivos de tu lilnk pero me manda un error de extension
    Gracias

  25. kato dice:

    hola aqui de nuevo, y cambiando el tema, quiero enviar mi rpt de crystal a pdf en codigo vi este ejemplo en internet
    Encontré esto en la página de Crystal a ver si funciona :
    Dim appl As New CRAXDRT.Application
    Dim rep As CRAXDRT.Report
    Private Sub Command1_Click()
    Set rep = appl.OpenReport(«c:\mytest.rpt», 1)
    rep.ExportOptions.DiskFileName = «c:\pdf_report.pdf»
    rep.ExportOptions.DestinationType = crEDTDiskFile
    rep.ExportOptions.FormatType = crEFTPortableDocFormat
    rep.Export False
    End Sub

    pero no me da la opcion de exportoptions?? sabes cual es la forma correcta
    slds y gracias

  26. JUAN dice:

    gracias tu solución es de mucha ayuda

  27. Myrna dice:

    hOLA, mE ENCONTRE CON EL ERROR 20599 AL MOMENTO DE GENERAR REPORTE DE SUA, SOLO DI COPIE Y PEGUE LOS ARCHVOS EN LA LIGA QUE PROPORCIONASTE Y ME FUNCIONO DE MARAVILLA, Y ESO ME FUNCIONO EN WNDOWS 7; GRACIAS POR EL APORTE… Y MAS PARA UNA QUE NO ES PARA NADA PROGRAMADOR O MANEJA CRYSTAL O ALGO ASI…
    GRACIAS ME AYUDO BASTANTE…

  28. Juan Augusto García, Rep. Dom. dice:

    Excelente, me resolvió la vida en 1 2 3!

  29. Matilde dice:

    Hola Raul…
    Muchas gracias por este aporte, llevaba mucho tiempo buscando una solución a este error y con las dll que dejas en el link http://www.raulmacias.com.mx/archivosblog/imgblog/crystalreports/Dlls pude eliminar ese error..
    Estoy muy agradecida y ojala existieran mas personas como tu que comparten sus conocimientos.

  30. Neldy Rolando Velásquez dice:

    Buen día:

    Gracias por el aporte, estaba buscando esa solución.

    Saludos

  31. Lina Murcia dice:

    Zafiro:
    Hola Raul, le quedo altamente agradecida por su aporte, la dificultad quedo resuelta utilizando la primera opción. Dios lo bendiga en todas las áreas de su vida.

  32. jra0177 dice:

    Alguna vez ya habia solucionado este problema (hace 10 años creo) y ya no me acordaba como, muchas gracias la verdad facilitaste un buen la solucion a el problema…..

    deberia existir mas apuntes asi tan puntuales…. felicidades!!!!!

  33. Es curioso, pero yo lo corregí asigandole permisos de administrador al usuario sobre un dominio…..

  34. Monserrath Arroyo dice:

    Excelente!! Tuve problemas con el SUA del IMSS al querer generar cualquier cédula o reporte (en cálculos) me mandaba el error 20599 — Cannot open SQL Server Me bastó con la solución 1 de este tutorial. Descargué las dll’s que nos proporcionas. Respaldé las viejitas. La nueva p2sodbc.dll la copié en C:\Windows\System32 y en C:\WIndows\Crystal y listo!. Mil gracias por el aporte.

  35. Bryan dice:

    Muchisimas Gracias me ayudaron bastante tus DLL’s, logre solucionar el error 20728 f .

Replica a kato Cancelar la respuesta

  • Se ha producido un error; es probable que la fuente esté fuera de servicio. Vuelve a intentarlo más tarde.
De Flickr

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevos mensajes por correo.

Únete a otros 65 suscriptores
Estadisticas
  • 100.729 hits