¡Todo lo existente sobre Dynamics CRM 4.0!

Mostrando entradas con la etiqueta Migracion. Mostrar todas las entradas
Mostrando entradas con la etiqueta Migracion. Mostrar todas las entradas

miércoles, 24 de diciembre de 2008

Automatización de Migración en CRM 4.0 mediante ETL

Una vez visualizado la entrada anterior en donde informábamos de cómo realizar una migración al método conocido como "manual" en CRM 4.o, ahora vamos a ver como mediante código en visual Studio 2005 o 2008 podemos "automatizar" la realización de la migración. Siendo esta una labor mucho mas ingenieril, a diferencia del método anterior, que era practicamente artesanal.

Pasos a seguir: - Creación de un proyecto de Integration Services con Visual Studio:


Por defecto el proyecto incluye un archivo Package.dtsx, que es un paquete de Integration Services que es donde se incluyen los elementos para crear el ETL.

- Incluir los elementos para realizar la lógica de migración:
* El primero paso es obtener los datos de Oracle para insertarlos en la tabla intermedia de nuestra BBDD Prueba. Este paso se hace incluyendo una “Tarea de Flujo de datos”. Arrastramos el elemento desde el cuadro de Herramientas a nuestro paquete abierto en modo “Diseño”(se hace doble click en el archivo desde el explorador de soluciones que está a la derecha).


* Hacemos doble click en el elemento o hacemos click en la pestaña “Flujo de datos” para incluir los elementos de ese flujo.
* Incluimos en el flujo un elemento “Origen de OLEDB”.




o Hacemos doble click en el elemento para establecer sus propiedades (conexiones, consulta…)
o Para establecer la conexión hacemos click en el botón de “Nueva”:





o Pinchamos en el botón “Nueva…” en la pantalla que nos sale.






o Configuramos Provider, Servidor, usuario y password como aparece en la imagen y pinchamos en el botón de “Probar conexión” para confirmar que la conexión está bien creada y realmente tenemos acceso:




o Pinchamos Aceptar en la pantalla anterior y en la siguiente con nuestra nueva conexión seleccionada.



o En modo de acceso a datos elegimos Comando SQL e introducimos nuestra consulta que obtiene los datos de Oracle. Pichamos en el botón “Vista previa” que nos sacara un “warning” que daremos “Aceptar” y nos sacará los datos en una pantalla. Si la consulta es errónea o la conexión en ese momento no puede realizarse, saltará una pantalla de error en vez del warning.










o Después de observar que la consulta saca lo que queremos, pinchamos en “Cerrar” y luego en “Aceptar”.
o Ya tenemos los datos; ahora hay que arrastrar un elemento de “Destino de OLEDB” para guardar esos datos en nuestra tabla intermedia. Antes de abrir este nuevo elemento, uniremos la flecha verde que aparece al pinchar en el otro elemento (Origen), con este nuevo, para unirlos y que el flujo de datos vaya de uno a otro, de Origen a Destino.









o Pasamos a configurar el elemento “Destino de OLE DB”, creando una nueva conexión en este caso será a la BD Prueba y elegiremos que sea una tabla o vista y crearemos una nueva pinchando; al pinchar en nueva nos sale un script con los campos correspondientes a la sentencia SQL de Origen (ojo que cambia caracteres como puntos por guiones bajos y no sé si otros caracteres también) y donde habría que cambiar el nombre de la tabla por el que queremos.











martes, 23 de diciembre de 2008

Migración en CRM 4.0 mediante CSVs

Los ficheros CSV (del inglés comma-separated values) son un tipo de documento sencillo para representar datos en forma de tabla, en las que las columnas se separan por comas (o punto y coma en donde la coma es el separador decimal) y las filas por saltos de línea. Los campos que contengan una coma, un salto de línea o una comilla doble deben ser encerrados entre comillas dobles. El formato CSV es muy sencillo y no indica un juego de caracteres concreto, ni cómo van situados los bytes, ni el formato para el salto de línea. Estos puntos deben indicarse muchas veces al abrir el fichero, por ejemplo, con una hoja de cálculo.
Ejemplo:
987;juan;87345;10 norte 342
876;pedro;43649;8 oriente 342

A la hora de migrar datos directamente sobre Microsoft Dynamics CRM 4.0 a través de la propia aplicación, se nos requerirá la importación de ficheros CSV. Para la utilización del asistente de importación se requerirá dirigirnos a: "Área de trabajo" -> "Importaciones".










Posteriormente pulsamos en nuevo y se nos abre el asistente, en donde deberemos indicarle el CSV a migrar, entidad sobre la cual se aplicará, separador de datos, de campos y asignación de campos columna.





En caso de resultar todo de forma correcta, nos saldrá en el control de importaciones el estado que va adquiriendo el fichero CSV que acabamos de mandar importar. Los estados por los que pasará el fichero serán ( Enviado, Transfiriendo y Completado) ademas de informando de los posibles registros que han podido no importarse debido a cualquier tipo de error, y el motivo del cual.


Una vez esto ya tendriamos una importación realizada de un fichero CSV sobre CRM 4.0.
Pero, logicamente esto sería en un caso sencillo y perfecto, y como sabemos, no siempre es todo así.

Durante la importacion de ficheros CSV en CRM 4.0 podemos encontrarnos con varios problemas, uno de los más complejos reside en la migración de los datos sobre los atributos “lookup”, que como sabemos son referencias o relaciones a otras entidades de CRM 4.0.
Hay que reseñar también lo fundamental del orden de Carga u orden de migración y de realizarlo en su orden correcto, ya que si no, los lookups de las siguientes tablas a cargar no encontrarán los datos que necesitan para su comprobación.

Sobre los CSVs siguientes a la 1º entidad migrada y que nos restan por cargar, se deberán tratar de una manera especial que detallaremos a continuación.


Este trato especial reside en su relación 1:N (estando estas tablas en el lado de la N) que tienen con las tablas anteriormente cargadas. Es decir, poseen unos lookups, que nos listarán el contenido de alguno de los campos de las tablas anteriores, por lo que lógicamente requieren que estos campos, es decir sus tablas completas se carguen con anterioridad.
Además de este proceso, comentar como gran novedad o inconveniente encontrado, es que no se nos permite cargar valores repetidos en los campos Lookup, por lo que para su consiguiente carga, se ha de sustituir el valor actual “string” por su GUID, el cual obtendremos mediante la realización de nuevas consultas en el SqlServer 2005, ya en la BBDD de CRM.
Esto solo sucede sobre los campos Lookups, ya que sobre los campos normales, se nos permite introducir cualquier tipo de datos.

Para las siguientes entidades que ya hemos citado con anterioridad, se ha de realizar un paso extra a la hora de realizar el (.csv) correcto. Este paso extra consiste en obtener los GUID (identificadores de campos), para así subsanar los problemas ocasionados con la duplicidad del contenido de ciertos campos.

EJEMPLO:
Para entender este problema, nos situamos en la entidad “Accounts” que se compone de los siguientes campos:

"Nombre Account","CIF","Telefono","Telefono2","Fax","Mail","Comentario","TipoTercero"


Al cargar los datos del campo “TipoCliente”, en todos los registros nos pondrá “Primordial”, ya que es el tipo de Tercero sobre el que vamos a realizar la migración.
Una vez que empezamos a migrar el (.csv) resultante de la consulta que tenemos en el fichero ConsultasEmpresasAdheridas.txt se producen una serie de errores llamados:
“Se encontró una referencia de Búsqueda duplicada”

Debido a que no admite tener en todos los registros el mismo valor para el campo “Tipo Tercero”, por lo que para solucionarlo, tal y como ya hemos comentado con anterioridad, hemos optado por obtener el GUID (Identificador del campo).



EJEMPLO sobre “Funciones Contactos”:



1º Accedemos a la BBDD original y tras ejecutar la respectiva query de SQL de la entidad que queremos migrar la guardamos con extensión (.xls).


2º Accedemos al servidor donde tenemos nuestra BBDD de CRM.
· Arrancamos el “Management SQL, Server 2005” à Management Studio.
· Ya dentro del “tManagement Studio” nos autentificamos.
· En el menú de la izquierda (Object Explorer), Buscamos la BBDD que usaremos de Prueba, sobre la que cargaremos en forma de tabla, la consulta (.xls) con el que estamos trabajando.
· Pinchamos sobre prueba, y hacemos click con el botón derecho (Task -> Import Data).
Una vez abierto configuramos el asistente, de la siguiente manera:









Y procedemos a elegir el archivo con extensión (.xls).

Ya solo deberemos seguir el asistente, y obtendremos la consulta realizada anteriormente, como una nueva tabla dentro de la BBDD donde se encuentra CRM 4.0.

Finalmente únicamente nos restará realizar la nueva consulta sobre la tabla cargada y las propias del CRM

· Exportamos la Query realizada en un (.csv), la añadimos la cabecera de los nombres de los campos y listo, a importar.



Archivo del blog

Seguidores