Que comando utilizo para importar Jobs (.dsx) desde windows?
Respuesta
Utiliza el comando dscmdimport
miércoles, 7 de enero de 2015
Como resolver error en rutina Datastage
Desde un batch quiero ejecutar una rutina que he creado en datastage,
RangoEjecucion= LecturaParametros(File_PR)
Me da error esto… como debo invocar a la rutina?…
Respuesta
En las primeras lineas del batch pones
DEFFUN LecturaParametros(argument1) CALLING 'DSU.LecturaParametros' Funciones utiles en el Datastage Transformer
FUNCIONES UTILES
a)Comando equivalente a LPAD
Right(Str('0',4):56,4)) Resultado 0056 (Formatea en este caso con el caracter ceros 4 a la izquierda)
b)Comando equivalente a RPAD
Left(54:Str('X',4),4) Resultado 54XX (Formatea en este caso con el caracter X 4 a la derecha)
c)Utilizar function DecimalToString (Argumento , ,"suppress_zero") para borrar ceros a la izquierda
En caso requieran quitar ceros a la izquierda
Ejm
DecimalToString('0000578900',"suppress_zero") Resultado : 578900
d)Para formatear la fecha actual a YYYYMMDD
utilizar DateToString(CurrentDate(),"%yyyy%mm%dd")
e)Para redondear el archivo a n decimales (Equivalente al Round)
utilizar DecimalToDecimal(Nombredelcampoinput,”round_inf”)
f)Para restar fechas
utilizar DaysSinceFromDate
ejemplo DaysSinceFromDate("2001-01-20","2001-01-28") = -8
a)Comando equivalente a LPAD
Right(Str('0',4):56,4)) Resultado 0056 (Formatea en este caso con el caracter ceros 4 a la izquierda)
b)Comando equivalente a RPAD
Left(54:Str('X',4),4) Resultado 54XX (Formatea en este caso con el caracter X 4 a la derecha)
c)Utilizar function DecimalToString (Argumento , ,"suppress_zero") para borrar ceros a la izquierda
En caso requieran quitar ceros a la izquierda
Ejm
DecimalToString('0000578900',"suppress_zero") Resultado : 578900
d)Para formatear la fecha actual a YYYYMMDD
utilizar DateToString(CurrentDate(),"%yyyy%mm%dd")
e)Para redondear el archivo a n decimales (Equivalente al Round)
utilizar DecimalToDecimal(Nombredelcampoinput,”round_inf”)
f)Para restar fechas
utilizar DaysSinceFromDate
ejemplo DaysSinceFromDate("2001-01-20","2001-01-28") = -8
Creacion de Stored Procedures SQL Server con Datastage
Creacion de stored procedure SQL Server con Datastage
Muchas veces me consultan que el Stored Procedure no funciona con Datastage
Para SQL Server aca van las siguientes sugerencias
Usar siempre el stage Stored Procedure
A partir de alli te pueden salir los siguientes warnings
SQLSTATE = HY104
Respta
Aparentemente hay campos de tipo nvarchar(4000) conviertelos a LongNVarchar
tambien fijarse que el campo no este con precision 0 sin decimales ponerle los decimales
SQLSTATE = 42000
Respta
"Error de sintaxis o infracción de acceso
Las Llaves representan el inicio y el final de una secuencia de escape en el estándar ODBC y podrían generar errores en conexion ODBC . La solución consiste en utilizar comillas simples para la instrucción SELECT.
Exec Nombredetuprocedure 'parametro1','parametro2',' parametro3'...
Para SQL Server aca van las siguientes sugerencias
Usar siempre el stage Stored Procedure
A partir de alli te pueden salir los siguientes warnings
SQLSTATE = HY104
Respta
Aparentemente hay campos de tipo nvarchar(4000) conviertelos a LongNVarchar
tambien fijarse que el campo no este con precision 0 sin decimales ponerle los decimales
SQLSTATE = 42000
Respta
"Error de sintaxis o infracción de acceso
Las Llaves representan el inicio y el final de una secuencia de escape en el estándar ODBC y podrían generar errores en conexion ODBC . La solución consiste en utilizar comillas simples para la instrucción SELECT.
Ejecuta solo el stored procedure desde tu pantalla sql server
Exec Nombredetuprocedure 'parametro1','parametro2','
verifica si retorna igual
en el log director revisa que sale despues de step ok todos los logs despues
si hay algun log con color en amarillo tambien revisar
Suscribirse a:
Entradas (Atom)