web-dev-qa-db-fra.com

Quelle est la façon la plus simple de déplacer des données d'Oracle vers SQL Server?

L'un de nos produits prend en charge Oracle et SQL Server en tant que backend de base de données. Nous avons un client qui souhaite passer d'un backend Oracle à Microsoft SQL Server, ce qui n'est pas une transition typique pour nous.

Quelle est la manière la plus simple d'obtenir toutes les données de l'ensemble du schéma Oracle dans la base de données SQL Server?

Le schéma ne contient que de vieilles tables simples et rien de compliqué. Il peut y avoir une ou deux procédures stockées que nous n'aurons aucun problème à migrer manuellement.

Je pourrais utiliser SQLDeveloper d'Oracle pour exporter les données de la table en tant qu'instructions CREATE et INSERT, mais celles-ci ne correspondront pas à la syntaxe utilisée sur SQL Server et je ne suis pas impatient de devoir corriger manuellement le erreurs de syntaxe.

13
Martin

J'ai en fait utilisé l '"Assistant de migration Microsoft SQL Server (SSMA)" de MS une fois pour cela et il a effectivement fait ce qu'il avait promis de faire:

Assistant de migration SQL Server pour Oracle (documentation)
Assistant de migration Microsoft SQL Server v6.0 pour Oracle (téléchargement)
Blog de l'équipe SQL Server Migration Assistant (SSMA)

Cependant, dans mon cas, ce n'était pas aussi rapide que ce à quoi je m'attendais pour un Oracle-DB de 80 Go (4 heures ou quelque chose) et j'ai dû faire quelques étapes manuelles par la suite, mais l'application a été développée en enfer de toute façon (une table avait 90 + colonnes et 100+ indices).

11
Dietmar

Ajout au commentaire de Craig ci-dessus - J'utilise des serveurs liés pour actualiser quelques tables dans une base de données Oracle à partir de SQL Server. Vous pouvez également extraire des données vers SQL Server à l'aide de OPENQUERY

INSERT INTO dbo.SQLTable1
  SELECT * FROM OPENQUERY(ORALINKEDSERV, 'SELECT * FROM OracleTable1')

Quelques liens qui vous aideront à configurer le serveur lié ici et ici

7
RK Kuppala