none
Convertir timestamp de oracle a datetime de sql server RRS feed

  • Pregunta

  • Hola a todos,

    tengo un dts (en sql server 2k) en que hago consultas a una tabla de oracle (10g) y me da problemas un campo en el que en la tabla de oracle está como tipo timestamp. Si ese campo lo pongo como tipo date entonces va bien.

    ¿Mi pregunta es si hay algún modo de convertir o de consultar este tipo de datos oracle desde sql server?

    Gracias de antemano.

    jueves, 22 de septiembre de 2011 15:23

Respuestas

Todas las respuestas

  • los tipos de datos no tienen por que tener el mismo nombre en oracle  que en SSIS. puedes usar un To_DATE o un TO_CHAR en la consulta y luego hacer conversiones dentro del paquete.  Si lo haces, recuerda poner las fechas en modo año-mes-dia para evitar lios con el formato ingles y castellano.

    Por cierto, muevo esto a SSIS que es donde debe estar


    Comparte lo que sepas, aprende lo que no sepas (FGG) http://www.portalsql.com
    El rincón del DBA
    jueves, 22 de septiembre de 2011 15:28
    Moderador
  • Una búsqueda rápida da varios resultados sobre cómo convertir un TIMESTAMP de Oracle a DATETIME en SQL Server. Por ejemplo en http://subhashsubramanyam.blogspot.com/2007/07/populating-oracle-timestamp-values-into.html parece que ofrecen una solución.

    Y un tema más: la versión 2000 de SQL Server es antiquísima y de hecho ya no se ofrece soporte oficial por parte de MS. Es decir, que aparte del pobre rendimiento que puede ofrecer respecto a otras versiones más actuales (2008 R2), es que encima hay multitud de funcionalidades que te estás perdiendo y que te quitarían muchos dolores de cabeza (sin ir más lejos, usar Integration Services en vez de DTS).

    • Marcado como respuesta droig viernes, 23 de septiembre de 2011 13:05
    jueves, 22 de septiembre de 2011 15:30
  • Gracias.

    Lo que me comentas va un poco en la línea de lo que comenta Carlos.

    Saludos.

    viernes, 23 de septiembre de 2011 13:01
  • Gracias Carlos,

    he seguido el enlace que me pasas y lo puedo convertir aunque en pierdo los minutos y segundos que no se ajustan a lo que tengo en la tabla de oracle. La verdad es que en el mismo enlace avisan sobre la perdida de precisión.

    En cuanto a lo que me dices de cambiar a 2005 ó 2008 lo tengo en cuenta, lo que sucede es que la gran mayoría de mis dts los hice hace años en el 2k y ahora hago poca cosa. Cuando tengo que hacer algún desarrollo tiro del 2k ya que las versiones más recientes cambian totalmente con el 2k.

    Saludos.

    viernes, 23 de septiembre de 2011 13:04
  • Con to_char no tienes porque perder los segundos. mira este link

    http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions180.htm

     


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA
    • Marcado como respuesta droig viernes, 23 de septiembre de 2011 14:09
    viernes, 23 de septiembre de 2011 13:15
    Moderador
  • Es cierto, disculpad no me había dado cuenta.

    Muchas gracias.

    Cambio el marcador de respuesta por si alguien quisiese consultar.

    Saludos.

    viernes, 23 de septiembre de 2011 14:09