Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos...

45
Instituto Tecnológico Superior de TeziutlánMateria: Tópicos de bases de datos UNIDAD 4: Bases de Datos Orientadas a ObjetosAsignación: Migración Maestro: Edgar Degante Aguilar Equipo: José Roberto Hernández Abundio, Itzel Mota Cerón, Francisco Javier Tomas Toribio Fecha de entrega: 27/05/2019

Transcript of Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos...

Page 1: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

“Instituto Tecnológico Superior de Teziutlán”

Materia: Tópicos de bases de datos

UNIDAD 4:

“Bases de Datos Orientadas a Objetos”

Asignación: Migración

Maestro: Edgar Degante Aguilar

Equipo: José Roberto Hernández Abundio, Itzel

Mota Cerón, Francisco Javier Tomas Toribio

Fecha de entrega: 27/05/2019

Page 2: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Introducción Desde que se comenzó a usar el modelo de bases de datos relacionales, en 1970, ha ido sufriendo

una serie de transformaciones hasta convertirse, hoy en día, en el modelo más utilizado para

administrar bases de datos.

Este modelo se basa fundamentalmente en establecer relaciones o vínculos entre los datos,

imaginando una tabla aparte por cada relación existente con sus propios registros y atributos.

Los principales Sistemas gestores de bases de datos relacionales (SGBD SQL) actualmente son:

Page 3: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Sistemas Gestores de bases de datos Relacionales (SQL)

MySQL

Es el sistema gestor de bases de datos relacional por excelencia.

Es un SGBD multihilo y multiusuario utilizado en la gran parte de las páginas web actuales. Además,

es el más usado en aplicaciones creadas como software libre.

Las principales ventajas de este Sistema Gestor de Bases de datos son:

• Facilidad de uso y gran rendimiento

• Facilidad para instalar y configurar

• Soporte multiplataforma

• Soporte SSL

La principal desventaja es la escalabilidad, es decir, no trabaja de manera eficiente con bases de

datos muy grandes que superan un determinado tamaño.

MariaDB

Este SGBD es una derivación de MySQL que cuenta con la mayoría de características de este e

incluye varias extensiones.

Nace a partir de la adquisición de MySQL por parte de Oracle para seguir la filosofía Open Source

y tiene la ventaja de que es totalmente compatible con MySQL.

Entre las principales características de este Sistema Gestor de Bases de datos se encuentran:

• Aumento de motores de almacenamiento

• Gran escalabilidad

• Seguridad y rapidez en transacciones

Extensiones y nuevas características relacionadas con su aplicación para Bases de datos NoSQL.

No tiene desventajas muy aparentes salvo algunas pequeñas incompatibilidades en la migración de

MariaDB y MySQL o pequeños atrasos en la liberación de versiones estables.

Page 4: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

SQLite

Más que un Sistema Gestor de bases de datos como tal, SQLite es una biblioteca escrita en C que

implementa un SGBD y que permite transacciones sin necesidad de un servidor ni configuraciones.

Es una biblioteca utilizada en multitud de aplicaciones actuales ya que es open source y las

consultas son muy eficientes.

Las principales características de SQLite son:

• El tamaño, al tratarse de una biblioteca, es mucho menor que cualquier SGBD

• Reúne los cuatro criterios ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad)

logrando gran estabilidad

• Gran portabilidad y rendimiento

La gran desventaja de SQLite es la escalabilidad ya que no soporta bases de datos que sean muy

grandes.

PostgreSQL

Este sistema gestor de base de datos relacional está orientado a objetos y es libre, publicado bajo

la licencia BSD.

Sus principales características son:

• Control de Concurrencias multiversión (MVCC)

• Flexibilidad en cuanto a lenguajes de programación

• Multiplataforma

• Dispone de una herramienta muy fácil e intuitiva para la administración de las bases de datos.

• Robustez, Eficiencia y Estabilidad.

La principal desventaja es la lentitud para la administración de bases de datos pequeñas ya que

está optimizado para gestionar grandes volúmenes de datos.

Microsoft SQL Server

Es un sistema gestor de bases de datos relacionales basado en el lenguaje Transact-SQL, capaz

de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea.

Es un sistema propietario de Microsoft. Sus principales características son:

Page 5: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

• Soporte exclusivo por parte de Microsoft.

• Escalabilidad, estabilidad y seguridad.

• Posibilidad de cancelar consultas.

• Potente entorno gráfico de administración que permite utilizar comandos DDL y DML.

• Aunque es nativo para Windows puede utilizarse desde hace ya un tiempo en otras

plataformas como Linux o Docker.

Su principal desventaja es el precio. Cuenta con un plan gratuito (Express) pero lo normal es la

elección de alguno de los planes de pago disponibles.

Oracle

Tradicionalmente, Oracle ha sido el SGBD por excelencia para el mundo empresarial, considerado

siempre como el más completo y robusto, destacando por:

• Soporte de transacciones.

• Estabilidad.

• Escalabilidad.

• Multiplataforma.

La principal desventaja, al igual que SQL Server, es el coste del software ya que, aunque cuenta

con una versión gratuita (Express Edition o XE), sus principales opciones son de pago.

Las opciones de pago disponibles son:

1. Standard Edition (SE)

2. Standard Edition One (SE1)

3. Standard Edition 2 (SE2)

4. Personal Edition (PE)

5. Lite Edition (LE)

6. Entreprise Edition (EE)

Sistemas Gestores de bases de datos No Relacionales (NoSQL)

Una base de datos no relacional (NoSQL) es aquella base de datos que:

No requiere de estructuras de datos fijas como tablas

Page 6: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

No garantiza completamente las características ACID

Escala muy bien horizontalmente.

Se utilizan en entornos distribuidos que han de estar siempre disponibles y operativos y que

gestionan un importante volumen de datos.

Para la administración de este tipo de bases de datos, actualmente los principales sistemas gestores

de bases de datos (SGBD NoSQL) son:

MongoDB

Estamos ante el Sistema Gestor de Bases de Datos no relacionales (SGBD NoSQL) más popular y

utilizado actualmente.

MongoDB es un SBGD NoSQL orientado a ficheros que almacena la información en estructuras

BSON con un esquema dinámico que permite su facilidad de integración.

Las principales características de MongoDB son:

• Indexación y replicación

• Balanceo de carga

• Almacenamiento en ficheros

• Consultas ad hoc

• Escalabilidad horizontal

• Open Source

Como desventaja principal, MongoDB no es un SGBD adecuado para realizar transacciones

complejas.

Redis

Redis está basado en el almacenamiento clave-valor. Podríamos verlo como un vector enorme que

almacena todo tipo de datos, desde cadenas, hashses, listas, etc.

El principal uso de este SGBD es para el almacenamiento en memoria caché y la administración de

sesiones.

Las características principales son:

• Atomicidad y persistencia

• Gran velocidad

Page 7: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

• Simplicidad

• Multiplataforma

• Cassandra

Al igual que Redis, Cassandra también utiliza almacenamiento clave-valor. Es un SGBD NoSQL

distribuido y masivamente escalable.

Cassandra

Dispone de un lenguaje propio para las consultas denominado CQL (Cassandra Query Languaje).

Las principales características de este SGBD NoSQL son:

• Multiplataforma

• Propio lenguaje de consultas (CQL)

• Escalado lineal y horizontal

• Es un SGBD distribuido

• Utiliza una arquitectura peer-to-peer

Page 8: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Migración de MySQL a SQL Server

• Es necesario descargar e instalar la primera ODBC de MySQL Connector, para empezar, el

proceso anterior. También puede encontrar la última versión de esta extensión aquí .

• Ahora, es el momento de descargar e instalar el Asistente de Migración de SQL Server para

la plataforma MySQL. Los usuarios pueden descargar fácilmente lo mismo de aquí .

– En la misma página, es necesario localizar y hacer clic en el botón “Descargar”. La acción abriría

una nueva página. Una vez abierta la página, es necesario seleccionar el archivo denominado como

“SSMA_MySql \ SSMA para MySql.5.3.0.exe”. El usuario sólo tiene que descargar el archivo

requerido de allí y obtener instalado en su sistema.

• El usuario sólo tiene que abrir la herramienta “Asistente de Migración de Microsoft SQL Server

para MySQL” que ya está instalado en su sistema.En el caso, la herramienta no es visible en

el escritorio, es hora de ir al botón “Inicio” y buscar la misma herramienta de allí. Obtendría

la pantalla como se muestra a continuación:

Page 9: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

– Para empezar a utilizar esta plataforma, tiene que ir a “Archivo -> Nuevo proyecto” y luego crear

un nuevo proyecto para la migración de datos de MySQL a MSSQL plataforma. Aquí es la captura

de pantalla del mismo proceso que se muestra a continuación:

– Una vez que el usuario ha creado el proyecto con éxito, es el momento de hacer clic en la opción

“Conectar a MySQL” presente en la parte superior de la página. Un cuadro de diálogo se abriría

conocido como “Conectar a MySQL”.Una vez, el cuadro de diálogo se abre, el usuario necesita para

realizar las siguientes funciones:

– En primer lugar, seleccione el “Proveedor” como “MySQL ODBC 5.1 Driver”.

– Ahora, introduzca el “Nombre del servidor” como “localhost”.

– Es necesario introducir el “nombre de usuario” y “contraseña” localhost que son necesarios para

iniciar sesión en el MySQL.

– Por último, es necesario hacer clic en la opción “Conectar”. Esto ayudará a conectar al usuario a

MySQL y contiene la lista de todas las bases de datos que se asignan junto con el nombre de usuario

que se utilizan para los propósitos de inicio de sesión.

Page 10: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

• Después de esto, se debe hacer clic en la opción “Conectarse a SQL Server” proporcionado

en la parte superior. Esto abrirá un nuevo cuadro de diálogo conocido como “Conectar a SQL

Server”, como se muestra a continuación. Ahora, es necesario realizar los siguientes pasos

que se mencionan a continuación:

– Es necesario seleccionar primero o introducir el nombre del servidor.

– Ahora, el usuario tiene que seleccionar el “Puerto del servidor” como “por defecto”.

Page 11: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

– Para llevar a cabo la migración de datos de la plataforma MySQL, es importante seleccionar la

base de datos correcta. Esta creación de bases de datos en SQL Server con la ayuda de “SQL

Server Management Studio” es un paso importante antes de la creación de una conexión de base

de datos.

– El usuario tiene que seleccionar la opción “Autenticación” como Windows o SQL Server.

– Se requiere para entrar en el “nombre de usuario” y “contraseña” para conectar el servidor SQL

Server.

Por último, es necesario hacer clic en la opción “Conectar”. Se abrirá un nuevo cuadro de diálogo

que dice “Operación Requisito No Met”, es necesario hacer clic en la opción “Continuar”. Con este

paso, que sería capaz de establecer una conexión con SQL Server junto con la lista de todas las

bases de datos. A continuación se presentan las imágenes sobre el mismo proceso.

Page 12: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

• Ahora, es necesario seleccionar la base de datos de “MySQL Explorador de metadatos” sub-

ventana que necesita ser migrado a SQL Server. Una vez, usted ha hecho la selección, una

opción “Convertir esquema” se habilita que necesita ser hecho clic. Con este paso, se puede

convertir fácilmente el esquema de base de datos MySQL en el esquema de base de datos

SQL Server. Este proceso cambia los tipos de datos de todas las columnas disponibles en

las tablas de bases de datos en un tipo de datos aplicable del SQL Server.

• Una vez, el esquema se ha convertido, es necesario seleccionar la base de datos de la “SQL

Server Explorador de metadatos” sub-ventana. El usuario sólo tiene que hacer clic derecho

sobre eso y luego seleccione la opción “Guardar como script” para guardar la secuencia de

comandos necesaria en la ubicación deseada del sistema. Este es un paso importante para

finalmente llevar a cabo la migración de datos ya que todas las mesas de sus necesidades

de datos existente que se creará en la base de datos destino de SQL Server.

• Ahora, es el momento para buscar el archivo que ha guardado y haga doble clic en él. Una

ventana de “SQL Server Management Studio” se abrirá pidiendo el establecimiento de la

conexión con el servidor SQL Server. Es necesario introducir las credenciales requeridas por

allí y luego haga clic en la opción “Conectar”.

Page 13: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

• Una vez, la conexión se ha establecido, es necesario hacer clic en la opción “Ejecutar”,

ubicada en la parte superior. Esta opción le ayudará en la ejecución del archivo e incluirá

todas las tablas en la base de datos seleccionada como se muestra en la siguiente imagen:

• Ahora, es necesario avanzar hacia la herramienta “Asistente de Migración de SQL Server” y

luego seleccione la base de datos necesaria en la que desea realizar la migración en el

servidor SQL Server. Esto ayudará a habilitar la opción “Migración de datos” siempre en la

parte superior. Al hacer clic en él, un cuadro de diálogo se abrirá pidiendo el establecimiento

de la conexión con MySQL y SQL Server, uno por uno. Es necesario introducir las

credenciales requeridas por allí para establecer la conexión como se muestra en la siguiente

imagen:

Page 14: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

• Una vez, que haya establecido la conexión, el sistema podría migrar automáticamente los

datos en la base de datos específica de SQL Server y también se puede ver en el “SQL

Server Management Studio” para actualizar la base de datos anteriormente.

Migración de MySQL a PostgreSQL

Paso 1. Generar un respaldo de la ESTRUCTURA de la base de datos MySQL

Page 15: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

El primer paso para migrar nuestra base de datos MySQL a PostgreSQL es generar una copia de

seguridad mediante mysqldump de la siguiente forma:

1. mysqldump -u [usuario] -p [base_de_datos] --no-data > [archivo_salida].sql

Donde:

• [usuario] el el nombre de usuario con el que accedemos a la base de datos (usualmente root)

• [base_de_datos] es el nombre de la base de datos que vamos a migrar (en este caso la base

de datos de ejemplo World).

• [archivo_salida] es el nombre de nuestro archivo de salida que contendrá los comandos SQL

generados por mysqldump

• El parámetro -p es para que mysqldump nos pregunte por la contraseña del usuario, si no

hay contraseña de base de datos entonces obviar este parametro.

• El parámetro –no-data omitirá los datos, por que sólo necesitamos la estructura de las tablas,

una vez migrada la estructura seguimos con los datos más adelante.

El comando se vería de la siguiente forma:

mysqldump -u root -p world –no-data > world-mysql.sql

El comando producirá un archivo parecido al siguiente: (Abrir para ver todos los comandos a

ejecutar)

1. -- MySQL dump 10.13 Distrib 5.1.54, for debian-linux-gnu (i686)

2. --

3. -- Host: localhost Database: world

4. -- ------------------------------------------------------

5. -- Server version 5.1.54-1ubuntu4

6.

7. --

8. -- Table structure for table `City`

9. --

Page 16: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

10.

11. DROP TABLE IF EXISTS `City`;

12. /*!40101 SET @saved_cs_client = @@character_set_client */;

13. /*!40101 SET character_set_client = utf8 */;

14. CREATE TABLE `City` (

15. ̀ ID` int(11) NOT NULL AUTO_INCREMENT,

16. ̀ Name` char(35) NOT NULL DEFAULT '',

17. ̀ CountryCode` char(3) NOT NULL DEFAULT '',

18. ̀ District` char(20) NOT NULL DEFAULT '',

19. ̀ Population` int(11) NOT NULL DEFAULT '0',

20. PRIMARY KEY (`ID`)

21. ) ENGINE=MyISAM AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1;

22. /*!40101 SET character_set_client = @saved_cs_client */;

23.

24. --

25. -- Table structure for table `Country`

26. --

27.

28. DROP TABLE IF EXISTS `Country`;

29. /*!40101 SET @saved_cs_client = @@character_set_client */;

30. /*!40101 SET character_set_client = utf8 */;

31. CREATE TABLE `Country` (

32. ̀ Code` char(3) NOT NULL DEFAULT '',

33. ̀ Name` char(52) NOT NULL DEFAULT '',

Page 17: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

34. ̀ Continent` enum('Asia','Europe','North America','Africa','Oceania','Antarctica','South

America') NOT NULL DEFAULT 'Asia',

35. ̀ Region` char(26) NOT NULL DEFAULT '',

36. ̀ SurfaceArea` float(10,2) NOT NULL DEFAULT '0.00',

37. ̀ IndepYear` smallint(6) DEFAULT NULL,

38. ̀ Population` int(11) NOT NULL DEFAULT '0',

39. ̀ LifeExpectancy` float(3,1) DEFAULT NULL,

40. ̀ GNP` float(10,2) DEFAULT NULL,

41. ̀ GNPOld` float(10,2) DEFAULT NULL,

42. ̀ LocalName` char(45) NOT NULL DEFAULT '',

43. ̀ GovernmentForm` char(45) NOT NULL DEFAULT '',

44. ̀ HeadOfState` char(60) DEFAULT NULL,

45. ̀ Capital` int(11) DEFAULT NULL,

46. ̀ Code2` char(2) NOT NULL DEFAULT '',

47. PRIMARY KEY (`Code`)

48. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

49. /*!40101 SET character_set_client = @saved_cs_client */;

50.

51. --

52. -- Table structure for table `CountryLanguage`

53. --

54.

55. DROP TABLE IF EXISTS `CountryLanguage`;

56. /*!40101 SET @saved_cs_client = @@character_set_client */;

57. /*!40101 SET character_set_client = utf8 */;

Page 18: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

58. CREATE TABLE `CountryLanguage` (

59. ̀ CountryCode` char(3) NOT NULL DEFAULT '',

60. ̀ Language` char(30) NOT NULL DEFAULT '',

61. ̀ IsOfficial` enum('T','F') NOT NULL DEFAULT 'F',

62. ̀ Percentage` float(4,1) NOT NULL DEFAULT '0.0',

63. PRIMARY KEY (`CountryCode`,`Language`)

64. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

65. /*!40101 SET character_set_client = @saved_cs_client */;

66. /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

67.

68. -- Dump completed on 2011-09-17 11:36:57

Paso 2. Traducir SQL de MySQL a SQL de PostgresSQL utilizando mysql2pgsql.perl

mysql2pgsql.perl es un script escrito en Perl que «traduce» la sintaxis del código SQL de MySQL a

un SQL que pueda entender PostgreSQL, es muy fácil de usar:

1. perl mysql2pgsql.perl [opciones] sql_formato_mysql.sql sql_formato_postgresql.sql

Para nuestro caso, el comando que ejecutamos es:

1. perl mysql2pgsql.perl --nodrop world-mysql.sql world-postgresql.sql

Donde: La opción –nodrop hace que el script no incluya los comandos DROP TABLE antes de crear

las tablas.

Puedes descargar mysql2pgsql.perl de http://pgfoundry.org/projects/mysql2pgsql/

El archivo world-postgresql.sql generado por el script se verá asi:

1. --

2. -- Generated from mysql2pgsql.perl

3. -- http:// gborg.postgresql.org/project/mysql2psql/

4. -- (c) 2001 - 2007 Jose M. Duarte, Joseph Speigle

Page 19: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

5. --

6.

7. -- warnings are printed for drop tables if they do not exist

8. -- please see http:// archives.postgresql.org/pgsql-novice/2004-10/msg00158.php

9.

10. -- ##############################################################

11.

12. -- MySQL dump 10.13 Distrib 5.1.54, for debian-linux-gnu (i686)

13. --

14. -- Host: localhost Database: world

15. -- ------------------------------------------------------

16. -- Server version 5.1.54-1ubuntu4

17.

18.

19. --

20. -- Table structure for table City

21. --

22.

23. DROP SEQUENCE "city_id_seq" CASCADE ;

24.

25. CREATE SEQUENCE "city_id_seq" START WITH 4080 ;

26.

27. CREATE TABLE "city" (

28. "id" integer DEFAULT nextval('"city_id_seq"') NOT NULL,

29. "name" char(35) NOT NULL DEFAULT '',

Page 20: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

30. "countrycode" char(3) NOT NULL DEFAULT '',

31. "district" char(20) NOT NULL DEFAULT '',

32. "population" int NOT NULL DEFAULT '0',

33. primary key ("id")

34. ) ;

35. /*!40101 SET character_set_client = @saved_cs_client */;

36. /*!40101 SET @saved_cs_client = @@character_set_client */;

37. /*!40101 SET character_set_client = utf8 */;

38.

39. --

40. -- Table structure for table Country

41. --

42.

43. CREATE TABLE "country" (

44. "code" char(3) NOT NULL DEFAULT '',

45. "name" char(52) NOT NULL DEFAULT '',

46. "continent" varchar CHECK ("continent" IN ( 'Asia','Europe','North

America','Africa','Oceania','Antarctica','South America' )) NOT NULL DEFAULT 'Asia',

47. "region" char(26) NOT NULL DEFAULT '',

48. "surfacearea" double precision NOT NULL DEFAULT '0.00',

49. "indepyear" smallint DEFAULT NULL,

50. "population" int NOT NULL DEFAULT '0',

51. "lifeexpectancy" double precision DEFAULT NULL,

52. "gnp" double precision DEFAULT NULL,

53. "gnpold" double precision DEFAULT NULL,

Page 21: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

54. "localname" char(45) NOT NULL DEFAULT '',

55. "governmentform" char(45) NOT NULL DEFAULT '',

56. "headofstate" char(60) DEFAULT NULL,

57. "capital" int DEFAULT NULL,

58. "code2" char(2) NOT NULL DEFAULT '',

59. primary key ("code")

60. ) ;

61. /*!40101 SET character_set_client = @saved_cs_client */;

62. /*!40101 SET @saved_cs_client = @@character_set_client */;

63. /*!40101 SET character_set_client = utf8 */;

64.

65. --

66. -- Table structure for table CountryLanguage

67. --

68.

69. CREATE TABLE "countrylanguage" (

70. "countrycode" char(3) NOT NULL DEFAULT '',

71. "language" char(30) NOT NULL DEFAULT '',

72. "isofficial" varchar CHECK ("isofficial" IN ( 'T

73. ','F' )) NOT NULL DEFAULT 'F',

74. "percentage" double precision NOT NULL DEFAULT '0.0',

75. primary key ("countrycode", "language")

76. ) ;

Page 22: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Notar el cambio en la forma de declarar los campos y la creación de secuencias. Los comentarios

en PostgreSQL son solo eso comentarios.

Paso 3: Enviar los datos generados desde MySQL a PostgreSQL

Ahora debemos volcar el contenido del archivo generado hacia postgresql, para ello nos logueamos

con el usuario postgres y ejecutamos los comandos necesarios:

1. $su postgres

2.

3. createdb world

4.

5. psql -f world_postgresql.sql -u usuario-db word

Ya casi todo esta listo, ahora solo nos queda migrar los datos. Al igual que en el paso 1, tenemos

que sacar un respaldo pero esta vez solamente de los datos sin la creación de la estructura de las

tablas, para ellos utilizamos el siguiente comando:

1. mysqldump -u root -p world --no-create-info --complete-insert --skip-add-locks > world-mysql-

data.sql

Donde:

• –no-create-info Omite los scripts de creación de tabla (no las necesitamos)

• –complete-insert Hace que los comandos INSERT contengan también los nombres de las

columnas, PostgreSQL no permite comandos INSERT sin los nombres de las columnas.

• –skip-add-locks omite el comando LOCK TABLE … ese comando también es diferente en

PostgreSQL.

Como resultado tendremos el archivo world-mysql-data.sql, va a ser algo parecido a esto:

1. -- MySQL dump 10.13 Distrib 5.1.54, for debian-linux-gnu (i686)

2. --

3. -- Host: localhost Database: world

4. -- ------------------------------------------------------

Page 23: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

5. -- Server version 5.1.54-1ubuntu4

6.

7. --

8. -- Dumping data for table `City`

9. --

10.

11. INSERT INTO `City` (`ID`, `Name`, `CountryCode`, `District`, `Population`)

12. VALUES (1,'Kabul','AFG','Kabol',1780000),

13. (2,'Qandahar','AFG','Qandahar',237500),

14. (3,'Herat','AFG','Herat',186800)

15. ...

16.

17. --

18. -- Dumping data for table `Country`

19. --

20.

21.

22. INSERT INTO ̀ Country` ( ̀ Code`, ̀ Name`, ̀ Continent`, ̀ Region`, ̀ SurfaceArea`, ̀ IndepYear`,

23. ̀ Population`, `LifeExpectancy`, `GNP`, `GNPOld`, `LocalName`, `GovernmentForm`,

24. ̀ HeadOfState`, `Capital`, `Code2`)

25. VALUES ('ABW','Aruba','North

America','Caribbean',193.00,NULL,103000,78.4,828.00,793.00,

26. 'Aruba','Nonmetropolitan Territory of The Netherlands','Beatrix',129,'AW'),

27. ('AFG','Afghanistan','Asia','Southern and Central Asia',652090.00,1919,22720000,

28. 45.9,5976.00,NULL,'Afganistan/Afqanestan','Islamic Emirate','Mohammad Omar',1,'AF'),

Page 24: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

29. ('AGO','Angola','Africa','Central Africa',1246700.00,1975,12878000,38.3,6648.00,7984.00,

30. 'Angola','Republic','José Eduardo dos Santos',56,'AO'),

31. ('AIA','Anguilla','North America','Caribbean',96.00,NULL,8000,76.1,63.20,NULL,

32. 'Anguilla','Dependent Territory of the UK','Elisabeth II',62,'AI'),

33. ('ALB','Albania','Europe','Southern Europe',28748.00,1912,3401200,71.6,3205.00,2500.00,

34. 'Shqipëria','Republic','Rexhep Mejdani',34,'AL'),

35. ...

36.

37. --

38. -- Dumping data for table `CountryLanguage`

39. --

40.

41. INSERT INTO `CountryLanguage` (`CountryCode`, `Language`, `IsOfficial`, `Percentage`)

42. VALUES ('ABW','Dutch','T',5.3),

43. ('ABW','English','F',9.5),

44. ('ABW','Papiamento','F',76.7),

45. ('ABW','Spanish','F',7.4)

46. ...

47.

48. -- Dump completed on 2011-09-18 17:41:21

Es probable que tengas problemas con el caracter `, para ello vamos a reemplazar el caracter con

la doble comilla » utilizando:

1. sed -i 's/`/'"'/g' world-mysql-data.sql

Pueden también utilizar el editor de texto de tu preferencia y reemplazar el carácter, el resultado

debe ser el siguiente:

Page 25: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

1. -- MySQL dump 10.13 Distrib 5.1.54, for debian-linux-gnu (i686)

2. --

3. -- Host: localhost Database: world

4. -- ------------------------------------------------------

5. -- Server version 5.1.54-1ubuntu4

6.

7. --

8. -- Dumping data for table "City"

9. --

10.

11. INSERT INTO "City" ("ID", "Name", "CountryCode", "District", "Population")

12. VALUES (1,'Kabul','AFG','Kabol',1780000),

13. (2,'Qandahar','AFG','Qandahar',237500),

14. (3,'Herat','AFG','Herat',186800)

15. ...

16.

17. --

18. -- Dumping data for table "Country"

19. --

20.

21.

22. INSERT INTO "Country" ( "Code", "Name", "Continent", "Region", "SurfaceArea",

"IndepYear",

23. "Population", "LifeExpectancy", "GNP", "GNPOld", "LocalName", "GovernmentForm",

24. "HeadOfState", "Capital", "Code2")

Page 26: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

25. VALUES ('ABW','Aruba','North

America','Caribbean',193.00,NULL,103000,78.4,828.00,793.00,

26. 'Aruba','Nonmetropolitan Territory of The Netherlands','Beatrix',129,'AW'),

27. ('AFG','Afghanistan','Asia','Southern and Central Asia',652090.00,1919,22720000,

28. 45.9,5976.00,NULL,'Afganistan/Afqanestan','Islamic Emirate','Mohammad Omar',1,'AF'),

29. ('AGO','Angola','Africa','Central Africa',1246700.00,1975,12878000,38.3,6648.00,7984.00,

30. 'Angola','Republic','José Eduardo dos Santos',56,'AO'),

31. ('AIA','Anguilla','North America','Caribbean',96.00,NULL,8000,76.1,63.20,NULL,

32. 'Anguilla','Dependent Territory of the UK','Elisabeth II',62,'AI'),

33. ('ALB','Albania','Europe','Southern Europe',28748.00,1912,3401200,71.6,3205.00,2500.00,

34. 'Shqipëria','Republic','Rexhep Mejdani',34,'AL'),

35. ...

36.

37. --

38. -- Dumping data for table "CountryLanguage"

39. --

40.

41. INSERT INTO "CountryLanguage" ("CountryCode", "Language", "IsOfficial", "Percentage")

42. VALUES ('ABW','Dutch','T',5.3),

43. ('ABW','English','F',9.5),

44. ('ABW','Papiamento','F',76.7),

45. ('ABW','Spanish','F',7.4)

46. ...

47.

48. -- Dump completed on 2011-09-18 17:41:21

Page 27: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Una vez listo el archivo que contiene los datos, los volcamos a PostgreSQL, al igual que el paso 3:

1. $su postgres

2. psql -f world_mysql-data.sql -u usuario-db word

Migración de MySQL a Oracle

Crear una conexión para el esquema MySQL a ser migrado:

Colocar un nombre para la conexión y el usuario MySQL

(en el ejemplo será root, sin password). Luego

seleccionar la lengueta MySQL para verificar el

hostname (o IP del servidor) y el puerto (generalmente

3306).

Testeando la conexión, el resultado debe ser SUCCESS

para poder continuar, de lo contrario revisar el nombre del

servidor Apache, usuario de MySQL, y el puerto

configurado en el archivo de configuración my.ini.

-Crear una conexión Oracle para el repositorio y el

esquema destino:

Similarmente como hicimos para MySQL, crearemos una

conexión para nuestra base de datos destino, en este caso XE. Configurar el usuario system con su

password, y el nombre del servicio de nuestra base de datos.

Como en el caso anterior, testear la conexión.

Una vez creadas, ambas conexiones deberán aparecer en el menú vertical izquierdo. A partir de

ellas podremos ver la definición de los objetos antes y después de la migración.

Es recomendado crear una conexión separada para el repositorio y otra para el esquema destino,

la idea es que sean usuarios diferentes. Para simplificar este ejemplo utilizaremos el mismo

esquema para las dos cosas.

Crear un repositorio

SQL Developer usa un Repositorio para almacenar los packages y datos temporales para validar y

Page 28: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

convertir nuestros objetos. Si no lo creamos, el propio wizard lo creará automáticamente, pero

siempre es mejor crearlo antes y verificar que quede todo correctamente instalado.

Vamos a la conexión de Oracle recientemente creada y con el botón derecho

seleccionamos Migration Repository, y Associate Migration Repository.

En un minuto, el repositorio estará creado. Podemos verificar que las tablas y vistas del repositorio

fueron creadas, con prefijo 'MD_' y 'MGV_' respectivamente. También es bueno verificar que estén

correctamente compilados los 4 packages: MD_META, MIGRATION, MIGRATION_REPORT y

MIGRATION_TRANSFORMER.

Iniciar el asistente

Teniendo todos los pasos previos completados, comenzamos con la migración propiamente dicha.

Vamos al menú Migration, Quick Migrate, y seleccionamos la conexión de la base de datos orígen,

es decir MySQL.

Si nuestra conexión fue correctamente creada, nos pide la conexión destino. Colocaremos la

conexión XE creada para recibir los objetos.

El siguiente paso es la verificación del repositorio a utilizar. Debe aparecer el mensaje OK: Using

[nombre conexión].

El cuarto paso es la verificación de pre-requisitos. Luego de presionar el botón Verify, una serie de

tests son ejecutados, que incluyen conectividad de fuente y destino, y permisos de usuario.

Cualquier observación que Oracle levante aquí tiene que ser resuelta antes de poder avanzar.

Luego que todos los pasos de la verificación de pre-requisitos resultan en SUCCESS, seguimos.

Finalmente debemos elegir el tipo de migración entre MIGRATE TABLES ONLY, MIGRATE TABLES

AND DATA o MIGRATE EVERYTHING.

En este caso elegiremos migrate everything: usuarios, tablas, datos, índices, constraints, vistas y

código.

Migración de SQL Server a MySQL

1-) Instalar SSMA for MySQL.7.3.0.msi

2-) Intalar SSMA for MySQL Extension Pack.7.3.0.msi

Archivo de licencia ( existe una para cada tipo de importación: MSAccess, Oracle, MySQL,…)

este archivo hay que guardarlo en la ruta de instalación de Microsoft SQL Server Migration Assistant,

en mi caso:

C:\Program Files (x86)\Microsoft SQL Server Migration Assistant for MySQL\

Page 29: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Ahora ya se supone que tenemos funcional la herramienta de migración. Pasos a seguir:

1-) Antes de nada:

a) Tener nombres de servidores MySQL y MSSQLServer, así como las credenciales de acceso de

usuario administrador (usuario y password)

b) Crear la base de datos destino vacia, con la herramienta de Microsoft SQL Server Management

Studio (SSMS).

Ahora entramos en la herramienta de migración Microsoft SQL Server Migration:

Una vez dentro de la herramienta de migración, crearemos un nuevo proyecto, e indicamos el tipo

de base de datos destino : Versión MS SQL Server, incluso de Azure.

Page 30: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Cuando trabajamos sobre la misma máquina donde reside el el servidor MySQL, podemos utilizar

la dirección interna: 127.0.0.1, para referirnos a nuestra máquina, de lo contrario tendríamos que

saber la IP externa del servidor.

El puerto predeterminado para MySql es 3306

Usuario admininistrador por defecto suele ser root

Solo queda por especificar la password del superUsuario root

Una vez conectados, desplegamos las Databases y

seleccionaremos la que queremos exportar.

Nota: Ya deberemos tener creada la Base de Datos destino en MS SQL SERVER.

Page 31: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Al posicionarnos y seleccionar la base de datos de origen, a la derecha nos aparecen las opciones

de configuración de la exportación.

Nosotros solo vamos a modificar la especificación de destino:

Vamos a utilizar el menu selector de objeto de la bd (…) y seleccionaremos bdo

Ahora ya podemos empezar el proceso de migración de MySQL a MS SQLServer:

Page 32: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Ejecutando esta opción, comenzamos la creación del esquema o estructura

interna de la Base de Datos destino.

Ahora es necesario sincronizar la base de datos, recién actualizada, para lo cual pulsamos botón

derecho sobre ella y la actualizamos:

Falta realizar los cambios locales en la base de datos real:

Pulsamos OK, y los cambios pasarán a la Base de Datos.

Ahora podemos pasar a la última fase: importar los datos desde MySql a MS SQL SERVER:

Recordar que es necesario volver a identificarse, tanto en MySQL com en MS SQLServer, como

administrador para poder realizar la migración efectiva de los datos.

Page 33: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Migración de SQL Server a PostgreSQL

Qué cosas migra este utilitario?

• Schemas

• Tablas

• Constraints (Primary Keys, Unique Keys, Foreign Keys)

• Indices

• Tipos de datos (Domains en PostgreSQL)

• Vistas (Si el código SQL utilizado es compatible con PostgreSQL, no vamos a tener problemas, de lo

contrario, tendremos que modificarlo manualmente para hacerlo compatible).

• Comentarios (Extended Properties en SQL Server)

¿Qué cosas no migra?

•Datos(para eso podemos utilizar algún ETL o SSIS)

• Store procedures/funciones/triggers (La aplicación sin embargo, nos permite generar el script de estos

objetos, para que luego los modifiquemos manualmente).

Adicionalmente, este utilitario agrega un par de funciones que existen en SQL Server y no en PostgreSQL

como por ejemplo “newid()”, cuando usamos columnas tipo ROWGUID en SQL Server.

También se genera un trigger automáticamente, cuando existe una columna Computed, ya que esta feature

no existe en PostgreSQL. Tiene una mínima inteligencia en algunos aspectos, que nos pueden ahorrar mas

Page 34: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

tiempo todavía. Por ejemplo, cuando encuentra que se llama a la función GetDate(), se reemplaza por su

homologa en PostgreSQL que es now(). Lo mismo hago para DatePart y un par de funciones más.

Migración de SQL Server a Oracle

1. Instale la base de datos Oracle 10g o posterior, o Oracle Database XE

2. Descargue y descomprima Oracle SQL Developer.

3. Descargue y descomprima el archivo mssqlservermigration.zip en su directorio de

trabajo (iewkdir)

Creando el usuario mwrep

Para crear un nuevo usuario de base de datos, realice los siguientes pasos:

Nota: Si ya tiene una conexión system_orcl y un usuario mwrep , puede omitir estos pasos.

1. Abra Oracle SQL Developer desde el ícono en su escritorio.

2. Seleccione Ver> Conexiones .

3. En la pestaña Conexiones, haga clic con el botón derecho en Conexiones y

seleccione Nueva conexión . Aparecerá una ventana Nueva / Seleccionar conexión de

base de datos.

4. Ingrese system_orcl en el campo Nombre de la conexión (o cualquier otro nombre que

identifique su conexión), el sistema para el campo Nombre de usuario y <su

contraseña> para el campo Contraseña. Seleccione la casilla de verificación Guardar

contraseña . Ingrese <hostname> en el campo Hostname y orcl en el campo SID. Haga

clic en prueba.

5. Verifique el estado de la conexión en la parte inferior izquierda (arriba del botón

Ayuda). Debe leer el éxito . Para guardar la conexión, haga clic en Conectar . Cerrar la

ventana.

Page 35: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

6. La conexión está guardada y puede verla en la lista de Conexiones en

la pestaña Conexiones.

7. Expandir la conexión system_orcl .

Nota: cuando se abre una conexión, una hoja de cálculo SQL se abre

automáticamente. La hoja de trabajo SQL le permite ejecutar SQL en la conexión que

acaba de crear.

8. Ingrese el siguiente código en la hoja de trabajo SQL para crear un usuario para el

repositorio de migración

CREAR USUARIO MWREP

IDENTIFICADO POR Mwrep

USUARIOS POR DEFECTO DE TABLES

TEMP TEMPORAL TABLESPACE;

CONCESIONAR CONCURSO, RECURSOS, CREAR SESIÓN, CREAR VISTA A

MWREP.

9. Ejecute el script, utilizando el icono "Ejecutar script (F5)".

10. El usuario mwrep fue creado exitosamente.

Creando el repositorio de migración

Para convertir la base de datos de Microsoft SQL Server a Oracle, debe crear un repositorio para

almacenar las tablas de repositorio requeridas y los paquetes PL / SQL. Para ello, realice los

siguientes pasos:

Nota: Si ya tiene una conexión mwrep_orcl y un repositorio de migración para ella, puede omitir

estos pasos.

1. Antes de crear el repositorio, debe crear una conexión con el usuario mwrep . En la

pestaña Conexiones, haga clic con el botón derecho en Conexiones y seleccione Nueva

conexión . Aparecerá una ventana Nueva / Seleccionar conexión de base de datos .

Nota: Si esta pestaña no está visible, seleccione Ver> Conexiones

2. Ingrese mwrep_orcl en el campo Nombre de la conexión (o cualquier otro nombre que

identifique su conexión), mwrep para los campos Nombre de usuario y

Page 36: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Contraseña. Seleccione la casilla de verificación Guardar

contraseña . Ingrese <hostname> en el campo Hostname y orcl en el campo SID. Haga

clic en prueba.

3. Verifique el estado de la conexión en la parte inferior izquierda (arriba del botón

Ayuda). Debe leer el éxito . Para guardar la conexión, haga clic en Conectar . Cerrar la

ventana.

4. La conexión está guardada y puede verla en la lista de Conexiones en

la pestaña Conexiones.

5. Haga clic con el botón derecho en la conexión mwrep_orcl y seleccione Repositorio de

migración> Asociar repositorio de migración.

6. Aparece una ventana de progreso.

7. Cuando se complete la instalación, haga clic en Cerrar.

8. Haga clic en Aceptar.

Capturando los archivos exportados de Microsoft SQL Server

El procedimiento para crear los scripts de la base de datos de Microsoft SQL Server se ha

completado para usted y los archivos están disponibles en el archivo zip que se proporciona en los

requisitos previos. Para ver este procedimiento, haga clic aquí .

Para cargar los scripts de base de datos de Microsoft SQL Server capturados en Oracle SQL Develo

per, realice los siguientes pasos:

1. Seleccione Migración> Captura fuera de línea de la base de datos de terceros> Cargar

salida de secuencia de comandos de captura de base de datos.

2. Examine el directorio de Capture y seleccione el archivo sqlserver2005.ocp.

3. Los objetos están siendo capturados. Cuando haya terminado, haga clic en Cerrar.

4. SQLServer2005 está listado en la pestaña Modelos

capturados . Expanda SQLServer2005.

Page 37: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

5. Expanda dbo para ver la lista de objetos que se capturaron.

Comprobación de las preferencias de conversión

Es importante revisar las preferencias de conversión en este punto. Para ello, realice los siguientes

pasos:

1. Seleccione Herramientas> Preferencias.

2. Expanda Migración y seleccione Opciones de identificador.

3. Asegúrese de que está seleccionado el identificador entre comillas. Haga clic

en Aceptar.

Convertir al modelo de Oracle

Para convertir el modelo capturado al modelo de Oracle, realice los siguientes pasos:

1. Haga clic derecho en el modelo capturado SQLServer2005 y seleccione Convertir a

modelo Oracle.

2. El conjunto de datos Mapa aparezca la ventana, que muestra el tipo de datos fuente y lo

que se convertirá en el modelo de Oracle. Haga clic en Aplicar.

3. Se realiza la conversión. Cuando haya terminado, haga clic en Cerrar.

4. Expanda Convertido: SQLServer2005 aparece en la pestaña Modelos convertidos.

5. Expanda dbo_Northwind para ver los objetos convertidos.

Generación y ejecución del script para crear los objetos de la base de datos Oracle

Para generar el script SQL con las declaraciones DDL que se ejecutarán para crear los objetos en

una base de datos Oracle , realice los siguientes pasos:

1. Haga clic con el botón derecho en Convertido: SQLServer2005 y seleccione Generar.

Page 38: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

2. El Oracle SQL se está generando. Cuando haya terminado, haga clic en Cerrar.

3. Se muestra el SQL del script. Seleccione system_orcl en el menú desplegable de la

derecha. icono.

4. Haga clic en Ejecutar script (F5).

5. Los resultados se muestran desde la ejecución del script.

6. Ahora que sus scripts se han ejecutado correctamente, puede crear una conexión para

el usuario dbo_Northwind . Haga clic con el botón derecho en Conexión y

seleccione Nueva conexión.

7. Ingrese dbo_northwind-migrated_orcl en el campo Nombre de la conexión (o cualquier

otro nombre que identifique su conexión), dbo_Northwind para los campos Nombre de

usuario y Contraseña. Seleccione la casilla de verificación Guardar

contraseña . Ingrese <hostname> en el campo Hostname y orcl en el campo SID. Haga

clic en prueba.

8. Verifique el estado de la conexión en la parte inferior izquierda (arriba del botón

Ayuda). Debe leer el éxito . Para guardar la conexión, haga clic en Conectar . Cerrar la

ventana.

9. Expanda la conexión dbo_Northwind-migrated_orcl.

10. Expandir tablas.

11. Se enumeran las tablas de la base de datos que se convirtieron a Oracle. Seleccione

la tabla de EMPLEADOS.

12. Seleccione la pestaña Datos. Observe que actualmente no hay datos en la tabla. Migrará

los datos más adelante en este tutorial.

Comprobación de las preferencias de movimiento de datos sin conexión

Se puede especificar una máscara de formato de fecha en las preferencias para que los scripts de

movimiento de datos sin conexión y en particular los archivos de control de Oracle SQL * Loader

puedan hacer referencia al formato correcto. Para ello, realice los siguientes pasos:

Page 39: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

1. Seleccione Herramienta> Preferencias.

2. Expanda Migración y seleccione Opciones de traslado de datos.

3. Asegúrese de que el formato de la máscara de fecha sea el mismo que el siguiente.

Mon dd yyyy HH: mi: ssAM.

4. Asegúrese de que la Máscara de marca de tiempo sea igual a la siguiente.

Mon dd yyyy HH: mi: ss: ff3AM

Haga clic en Aceptar.

Análisis y estimación

La migración de Microsoft SQL Server a una base de datos Oracle puede ser sencilla. Pero vale la

pena señalar que algunos objetos y la sintaxis no se migran automáticamente. Por lo tanto se

requiere intervención manual.

El análisis del Modelo de captura, la identificación del número, el tipo y la complejidad de los objetos,

puede ayudar a calcular el tiempo estimado requerido para las tareas manuales.

Los siguientes informes se pueden utilizar con su propia tarea y estimación de proyecto.

• Informes de migración> Resumen de migración

• Informes de migración> Detalles de la migración

• Informes de migración> Cambios automáticos de nombre

Tiempo estimado para:

• Resuelve cada objeto que no se haya podido convertir manualmente.

• Verificar y probar cada objeto.

• Cambios en la aplicación debido a cambios de nombre

Migración de los datos

Los datos ya han sido generados desde Microsoft SQL Server. Para ver los pasos, haga clic aquí .

Page 40: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Para importar los datos utilizando los scripts proporcionados, realice los siguientes pasos:

1. Abra un símbolo del sistema de DOS y ejecute los siguientes comandos:

<prompt> cd <ubicación donde se encuentran los archivos>

<prompt> oracle_ctl

Los archivos se encuentran en el directorio de datos donde descomprimió los archivos provistos

en la sección de requisitos previos .

oracle_ctl es un archivo bat que contiene instrucciones para cargar los datos. Utiliza sqlldr para

cargar los datos.

2. El comando se ejecuta con éxito.

3. Los datos de la tabla se han cargado correctamente.

4 Seleccione la tabla CATEGORÍAS.

5. Haga doble clic en la primera celda bajo la IMAGEN columna y haga clic en.

6. Seleccione la casilla de verificación Imagen y haga clic en Aceptar.

Migración de Oracle a MySQL Paso 1. Source / Target. Especificar esquema origen y destino.

Nos permite especificar la fuente y destino de la base de datos.

Inicializa el sistema y la carga Java, si no lo tenemos nos pide instalarlo.

Seleccionar el tipo de configuración que usaremos para la migración. En este caso usamos

Direct Migration

Seleccionar la base de datos origen, aqui es necesario utilizar el driver de ODBC de Oracle para

hacer la conexion, es necesario indicarle la ubicacion en Locate Driver on HardDisk y utlizar los

datos requeridos:

Database System: Oracle Database Server

Page 41: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Driver: Oracle Thin JDBC Diriver using SID

SID: XE

Hostname: localhost

Puerto: 1521

Username: hr

Password: hr

Seleccionar la base de datos destino utilizando los datos correspondientes:

Database system: MySql Server

Hostname: localhost

Username: usuario

Password: password

Establece conexión con los servidores.

Paso 2. Object Selection. Seleccionar los objetos a migrar.

Seleccion el esquema a migrar

Ejecutara ingenieria inversa para la migracion.

Escoger los objetos a migrar en este caso, las tablas.

Paso 3. Object Mapping. Escoger el metodo de migración. Oracle Deafult

Ejecuta el proceso de migracion y genera el codigo SQL.

Paso 4. Manual Editing. Editar manualmentelos objetos generados.

Verifica problemas con los objetos migrados.

Paso 5. Schema Creation. Ejecuta script DLL para crear el esquema destino.

Definir como se crearan los objetos, en linea o con un script. Seleccionamos script. El nombre del

archivo sera Creates.sql

Paso 6. Data Mapping. Migrara los datos.

Definir el modo para la transferencia de datos. Seleccionamos script. El nombre del archivo sera

Inserts.sql

Page 42: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Paso 7. Bulk Transfer. Configura el servidor, y copia los datos de la base de datos origen a la

base de datos destino.

Paso 8. Summary. Se crea el esquema destino y los datos son transferidos.

Te genera un reporte de migracion.

Se generan scripts Creates.sql e Inserts.sql con los cuales se hara la migración.

Migración de Oracle a SQL Server Primero nos conectaremos a Oracle, el origen de los datos. En el dialogo elegimos entre el cliente

Oracle Client provider o el proveedor OleDb y luego desplegaremos el Mode para especificar de

distintas maneras los datos del servidor origen ya sea mediante cadena de

conexión, TNSNAMES o Standard (campo a campo).

Una vez lo hagamos, la aplicación se conecta y descarga los metadatos para mostrarnos los

esquemas visibles. Por cuestión clara de permisos, según el usuario que especifiquemos en la

conexión veremos más o menos. Si queremos hacer una migración de todo podemos necesitar al

usuario system de Oracle.

El siguiente paso puede ser conectarnos al servidor destino. Para hacerlo elegimos la opción

Connect to SQL Server de debajo del menú.

Por cierto, es posible que por algún motivo nos despistemos y no hayamos instalado en el servidor

el "Extension Pack". Lo instalamos y solucionado. El error que veremos será como el de la siguiente

imagen:

Page 43: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Una vez conectados al servidor origen y destino es momento de empezar a jugar. En la parte

superior tenemos primero el Oracle Metadata Explorer y una pestaña a su derecha que nos muestra

la información relativa al origen. En la parte inferior tenemos el SQL Server Metadata Explorer que

muestra lo mismo para el servidor destino. El "Metadata Explorer" es el árbol de objetos de cada

servidor. Es como un Explorador de objetos para las dos bases de datos. Lo único a tener en cuenta

es que mientras en Oracle hablamos de diferentes esquemas para una misma base de datos, en

MS SQL Server vemos las diferentes bases de datos y los esquemas de seguridad que contiene

cada una de ellas.

Para empezar a jugar y mover cosas de un lado al otro basta saber que tenemos que seleccionar

en el árbol superior lo que queremos como en la imagen superior y hacerle clic con el botón

derecho para poder ver el menú que permite ver que operaciones hacer con el: migrar, generar

su script, informe de migración

Page 44: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Conclusión

Podemos concluir que las migraciones que se realizan en las bases de datos se realizan de

diferentes maneras, que algunas pueden realizarse con comandos, desde empezar a hacer copias

de seguridad, crear un usuario administrador para que este tenga los permisos de realizar la

migración de todas nuestras tablas. Así como también podemos realizarlas con software externo

que se encarga de enlazarlas y poder concluir con la migración exitosa.

Page 45: Maestro: Edgar Degante Aguilar Equipo: José Roberto ......2011/09/18  · la conversión de datos MySQL a Microsoft SQL Server-conectar con el servidor SQL | Knowband – Para llevar

Bibliografías RAFAEL MARÍN. (2019). Los gestores de bases de datos más usados en la actualidad. 27/05/2019, de

Revista Digital INESEM Sitio web: https://revistadigital.inesem.es/informatica-y-tics/los-gestores-de-bases-

de-datos-mas-usados/

Ivan Cachicatari. (2018). Migrar una base de datos MySQL a PostgresQL. 27/05/2019, de Latindevelopers

Sitio web: http://www.latindevelopers.com/articulo/migrar-de-mysql-a-postgresql/

Ifer. (2009). Migrando MySQL a Oracle con SQL Developer. 27/05/2019, de oraclenotepad Sitio web:

http://oraclenotepad.blogspot.com/2009/03/migrando-mysql-oracle-con-sql-developer.html

ZdePH. (Septiembre 2017). MIGRACIÓN BASE DE DATOS MYSQL A MS SQL SERVER. 27/05/2019, de

Informática general Sitio web: https://formatica.es/migracion-base-datos-desde-mysql-ms-sql-server/