|
Quién está en linea
Tenemos 18 invitados conectado
|
SISS de MySQL a SQL (1 viewing) 1 Guest
|
|
|
TOPIC: SISS de MySQL a SQL
|
|
|
|
SISS de MySQL a SQL 6 Months, 3 Weeks ago
|
Karma: 0
|
|
Buen Día Amigos
Estoy tratando de migrar datos de una BD MySQL a una SQL Server 2005
con un SISS ya que es muchísima información la que tengo que pasar, son aproximadamente 75 GB (entre menos fraccionado lo haga mejor), ya genere un ODBC con la conexión a MySQL en una tarea de flujo tengo un "Data Reader Source" conectado a MySQL que va a un "SQL Server Destination" con la conexión a SQL Server. pero me marca un error que a continuación describo
Error at DataFlow Task[SQL Server Destination [537]]: The column "ColumnaX" can't be inserted because the conversion between types DT_I8 and DT_I4 is not support.
Error at DataFlow Task[SQL Server Destination [537]]: The column "ColumnaX" can't be inserted because the conversion between unicode and non-unicode string data types.
Así en cada columna dependiendo el tipo de dato, intente poner en medio de ellos un Data conversión seleccionando string[DT_STR] y me da el mismo error.
Los tipos de datos de las tablas en teoría son los mismos, y lo raro es que lo hago con el Task > import data de SQL Server y si funciona el problema es que solo puedo pasar poca información ya que me lanza un error creo, que es por el timeout, si saben alguna manera de aumentar el timeout en la conexión del import también es bienvenido.
Agradezco de antemano cualquier ayuda.
|
|
|
|
Logged
|
|
|
The administrator has disabled public write access.
|
|
|
|
Re:SISS de MySQL a SQL 6 Months, 3 Weeks ago
|
Karma: 3
|
|
Sobre la conversión de DT_I8 a DT_I4, quiere decir que estas tratando de pasar un entero de 8 bytes a uno de 4 bytes intenta con un int o bigint y el de un unicoda a uno non-unicode debes de usar un typo de dato unicode en este trata da usar un typo de dato nvarchar o ntext.
|
|
|
|
Logged
|
|
|
DBASuppot Team
|
|
|
The administrator has disabled public write access.
|
|
|
|
Re:SISS de MySQL a SQL 6 Months, 3 Weeks ago
|
Karma: 0
|
|
Al parecer ese el problema, el unico detalle es que yo tengo integer en mi tabla de SQL y en el data conversion no me aparece integer como tal, yo se que el dato de MySQL lleva como 6 caracteres alguna sugerencia?
Agradezco que me encaminaras en el problema y agradeceria aun mas tu sugerencias.
Saludos Cordiales
|
|
|
|
Logged
|
|
|
The administrator has disabled public write access.
|
|
|
|
|
|
Logged
|
|
|
DBASuppot Team
|
|
|
The administrator has disabled public write access.
|
|
|
|
Re:SISS de MySQL a SQL 6 Months, 2 Weeks ago
|
Karma: 0
|
|
Como lo comentaste tenia mal la longitud del campo, ahora me topo con otro problema respecto al mismo caso estoy haciendo un qry que trae los siguientes datos
Select CONSULTA_ID, INICIO_TRANSACCION, IF(FIN_TRANSACCION = '0000-00-00 00:00:00', '1900-01-01 00:00:00', FIN_TRANSACCION) FIN_TRANSACCION, CREATED_BY, CREATED_DATE, UPDATED_BY, UPDATED_DATE, FECHA_SOLICITUD, EJECUTIVO_NOMBRE, IFNULL(EJECUTIVO_ID,0) EJECUTIVO_ID, SUCURSAL_NOMBRE, IFNULL(SUCURSAL_ID,0) SUCURSAL_ID, CLIENTE_NOMBRE, ERROR, SCORE From Consulta Where INICIO_TRANSACCION between '2009-01-14' and '2009-01-20'
Las fechas son timestamp en MySQL y en SQL las tengo como Date, el problema es que algunos datos tienen como fecha '0000-00-00 00:00:00', lo trate de solucionar con el IF pero al momento de recibir el parámetro FIN_TRANSACCION en el DataReader source lo envía como "byte stream [DT_BYTES]", estoy usando un data conversión pero solo lo puedo convertir a muy pocos tipos de datos uno de ellos es el DT_STR pero lo necesito en datetime o date.
trate de solucionarlo dos formas
1.- Una poniendo el now() en el qry en vez de la fecha deseada a ver si lo mandaba como date pero sigue enviándolo como byte stream
2.- Lo trate de poner el dt_str y me marca el siguiente error:
Error: 0xC020901C at Data Flow Task, OLE DB Destination [11042]: There was an error with input column "Copy of FIN_TRANSACCION" (11310) on input "OLE DB Destination Input" (11055). The column status returned was: "The value could not be converted because of a potential loss of data.".
3.- Poner otro Data Conversion pero también me marca el siguiente error
Error: 0xC02020C5 at Data Flow Task, Data Conversion 1 [11816]: Data conversion failed while converting column "Copy of FIN_TRANSACCION" (10404) to column "Copy of Copy of FIN_TRANSACCION" (12075). The conversion returned status value 2 and status text "The value could not be converted because of a potential loss of data.".
Para realizar el deposito de los datos es mediante un SQL Server Destination.
Agradezco su ayuda de antemano
|
|
|
|
Logged
|
|
|
The administrator has disabled public write access.
|
|
|
|
Re:SISS de MySQL a SQL 6 Months, 2 Weeks ago
|
Karma: 3
|
|
Te recomiendo que las fechas las pases a sql server con el formato YYYY-MM-DD HH:MM:SS, lo que esta pasando es que entran en otro formato y les pone puros ceros. Otra es que veas el formato en que esta definido.
Saludos
|
|
|
|
Logged
|
|
|
DBASuppot Team
|
|
|
The administrator has disabled public write access.
|
|
|
|
|