IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Import/Export Oracle Discussion :

de Oracle vers SQL server


Sujet :

Import/Export Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 18
    Points
    18
    Par défaut de Oracle vers SQL server
    Bonjour,
    J'ai une table créée sous oracle et contient des lignes sur un serveur.
    J'ai une autre table crées sous SQL server et contient des lignes dans autre serveur.
    Les deux tables peuvent n'ont pas le même nom avec des noms des colonnes différents.

    Mon problème comment interfacer entre SQL server et Oracle c'est à chaque insertion ou modification ou suppression sur la première table alors j'aurai la même ligne insérée (ou modifiée ou supprimé) dans la deuxième table.


    Merci

    Interfaçage entre sql server et oracle

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 902
    Points : 53 143
    Points
    53 143
    Billets dans le blog
    6
    Par défaut
    Si c'est de SQL Server vers oracle, vous pouvez créer un serveur lié dans votre instance de SQL Server et utiliser un déclencheur qui répercutera les modifications.
    il faut cependant pour cela activer le commit à deux phases en passant par MS DTC, pour coordonner les transactions, et élever le niveau transactionnel des opérations en mode de transaction distribuée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BEGIN DISTRIBUTED TRANSACTION;
    A lire sur ces sujets :
    1) créer un serveur lié Oracle
    https://blog.developpez.com/zinzinet...es_distribuees
    2) activer MSDTC
    https://blog.developpez.com/elsuket/...oordinateur_de
    3) effectuer une transaction distribuée
    https://docs.microsoft.com/fr-fr/sql...l-server-ver15

    A +

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Merci beaucoup @SQLpro

    Pardon, pourriez-vous me simplifier encore les étapes à suivre sur mon exemple ?
    J'ai une table 'Personne' (sur SQL Server) avec les colonnes : code, nom, adresse
    J’insère la ligne suivante : 1, abc, adr1
    Cette table existe sur un serveur Serv1

    J'ai une autre table 'Candidat' (sur SQL Server) avec les colonnes : code, nom, adresse
    Cette table existe sur un serveur Serv2

    Je voulais à chaque fois j'insère dans la table 'Personne' alors cette insertion sera automatique dans table 'Candidat'.

    Comment faire cette insertion automatique ?

    Merci d'avance.

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    J'ai ce message d'erreur et merci d'avance pour vos réponses :

    TITLE: Microsoft SQL Server Management Studio
    ------------------------------

    The linked server has been created but failed a connection test. Do you want to keep the linked server?

    ------------------------------
    ADDITIONAL INFORMATION:

    An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

    ------------------------------

    Impossible de créer une instance du fournisseur OLE DB "OraOLEDB.Oracle" du serveur lié "LINORACLE". (Microsoft SQL Server, Error: 7302)

    For help, click: http://go.microsoft.com/fwlink?ProdN...2&LinkId=20476

    ------------------------------
    BUTTONS:

    &Yes
    &No
    ------------------------------

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Mon objectif est de trouver une solution ou écrire un script pu développer un middleware permettant de :

    - automatiser l'insertion : chaque fois que j'insère dans une table sous SQL Server alors cette ligne sera automatique insérée dans autre table correspondante sous oracle.



    - collecter des données des sources différentes (Oracle, SQl server) et les ajouter à d'autres données pour les réutiliser dans une autre tâche.

    Merci.

  6. #6
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Travaillez avec un ETL (gratuit) de genre Talend : https://fr.talend.com/

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 902
    Points : 53 143
    Points
    53 143
    Billets dans le blog
    6
    Par défaut
    Le mieux est d'utiliser SSIS (SQL Server Integration Services) qui est inclus dans votre licence SQL Server, et surtout plus puissant et plus rapide. La version gratuite de Talend étant bridée !

    A +

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    J'ai eu ce type d'erreur :

    Erreur du serveur dans l'application '/'.
    Impossible de charger le fichier ou l'assembly 'Oracle.DataAccess' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.BadImageFormatException: Impossible de charger le fichier ou l'assembly 'Oracle.DataAccess' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.

    Erreur source:

    Une exception non gérée s'est produite lors de l'exécution de la requête Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.

    Suivi du chargement de l'assembly: Les informations suivantes peuvent permettre de déterminer la raison pour laquelle l'assembly 'Oracle.DataAccess' n'a pas pu être chargé.


    AVT : la journalisation de liaison d'assembly est désactivée.
    Pour activer la journalisation des échecs de liaison d'assembly, attribuez la valeur 1 à la valeur de Registre [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD).
    Remarque : une certaine perte de performance est associée à l'enregistrement dans le journal des échecs de liaison d'assembly.
    Pour désactiver cette fonctionnalité, supprimez la valeur de Registre [HKLM\Software\Microsoft\Fusion!EnableLog].

    Trace de la pile:


    [BadImageFormatException: Impossible de charger le fichier ou l'assembly 'Oracle.DataAccess' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.]
    System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
    System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +37
    System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +159
    System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +80
    System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +22
    System.Reflection.Assembly.Load(String assemblyString) +29
    System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +39

    [ConfigurationErrorsException: Impossible de charger le fichier ou l'assembly 'Oracle.DataAccess' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.]
    System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +777
    System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +229
    System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +140
    System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +176
    System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +99
    System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +310
    System.Web.Compilation.BuildManager.ExecutePreAppStart() +165
    System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +590

    [HttpException (0x80004005): Impossible de charger le fichier ou l'assembly 'Oracle.DataAccess' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.]
    System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +10082160
    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +99
    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +263

    Informations sur la version : Version Microsoft .NET Framework :4.0.30319; Version ASP.NET :4.8.4110.0

Discussions similaires

  1. migration de oracle vers sql server 2005 - linked server
    Par aemag dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/10/2006, 15h31
  2. [Migration] Oracle vers SQL Server 2005 - Problème de BLOB
    Par thomasrenault dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/02/2006, 10h26
  3. Traduction de code Oracle vers SQL Server
    Par randomcl dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/11/2005, 23h43
  4. [debutan] migration de données Oracle vers SQL SERVER 2000
    Par Mil00se dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/08/2005, 17h44
  5. Migration de données Oracle vers SQL server
    Par joul's dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 16/02/2005, 15h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo