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

VB.NET Discussion :

export de données [oracle vers sql server]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut export de données [oracle vers sql server]
    je dispose du code suivant pour recupere une table oracle et la mettre dans une table sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _
                         + "(ADDRESS=(PROTOCOL=TCP)(HOST= SM65CVDF)(PORT=1521)))" _
                         + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=OSMOSE)));" _
                         + "User Id=OSMOSE;Password=OSMOSE;"
            Dim dsRequete As DataSet
            Dim laRequete As String
            Dim conn As New OracleConnection(oradb)
            conn.Open()
     
            Dim cmd As New OracleCommand
            cmd.Connection = conn
            cmd.CommandText = "select EVENT_CLIENT from EVENEMNT "
            cmd.CommandType = CommandType.Text
     
            Dim dr As OracleDataReader = cmd.ExecuteReader()
            dr.Read()
            Try
                For Each rowRequetes As DataRow In dsRequete.Tables(0).Rows
     
                    LaRequete = rowRequetes("RequeteSQL")
                    LaRequete = LaRequete.Replace("currentUser", Main.CurrentUser)
     
     
                Next
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
    normalement ce code doit me recuperer ce que j'adans oracle pour le mettre dans sql server mais ca marche pas.esque quelqun peut me donner un coup de main?

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    C'est à quel moment que tu exécutes une requête vers la base SqlServer ? Je n'en vois pas.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    normalement la requte seql c'est une requete ki est dans "requetesql"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LaRequete = rowRequetes("RequeteSQL")
    mais le probleme c'est que je ne sais pas comment recupere le resultat du dataset pour mettre ca dans la table sql,je ne sais pas comment ecrire la requete.

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Donc si j'ai bien compris, "LaRequete" contient la requête à exécuter sur la base SqlServer.
    Dans ce cas là, tu peux t'inspirer de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Créé la connexion
    IDbConnection conn = new SqlConnection(tachainedeconnexionverssqlserver);
    // Ouvre la connexion
    conn.Open();
    // Crée la requête
    IDbCommand requete = conn.CreateCommand();
    requete.CommandText = LaRequete;
    // Exécute la requête
    int nombreLignesImpactees = requete.ExecuteNonQuery();
    // Ferme la connexion
    conn.Close();
    J'utilise ExecuteNonQuery à la place de ExecuteReader car je considère que tu exécutes une requête de type INSERT/UPDATE/DELETE.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    j'ai change le executereader en execute scalar pour kil me renvoie ke la premier ligne et j'ai mis stored procedure pour qu'il execute la requete sql c'est a dire recuperer des données d'une base oracle voici mon nouveau code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _
                        + "(ADDRESS=(PROTOCOL=TCP)(HOST= SM65CVDF)(PORT=1521)))" _
                        + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=OSMOSE)));" _
                        + "User Id=OSMOSE;Password=OSMOSE;"
     
            Dim sdaRequetes As New SqlDataAdapter
            Dim dsRequete As DataSet
            Dim laRequete As String
            Dim conn As New OracleConnection(oradb)
            conn.Open()
     
            Dim cmd As New OracleCommand
            cmd.Connection = conn
            cmd.CommandText = "select EVENT_CLIENT from EVENEMNT"
            cmd.CommandType = CommandType.StoredProcedure
     
            Dim dr As OracleDataReader = cmd.ExecuteScalar()
            dr.Read()
            sdaRequetes.Fill(dsRequete)
     
            Try
                For Each rowRequetes As DataRow In dsRequete.Tables(0).Rows
     
                    laRequete = rowRequetes("RequeteSQL")
                    laRequete = laRequete.Replace("currentUser", Me.CurrentUser)
     
     
                Next
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
            conn.Dispose()
    mais cette fois il m'affiche l'erreur suivante:
    La commande SQL ne se termine pas correctement

    je ne sais pas koi faire.

  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Le commandType doit être 'CommandType.Text' car ce n'est pas une procédure stockée que tu utilises mais une requête SQL.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Par défaut
    alors je me suis trompe il fallait ke je garde commendtype = command.text au lieu de storedproc.mais j'ai tjrs une autre erreur ka kan il arrrive a cet ligne

    dr.Read()

    il m'affiche l'erreu suivante.
    La référence d'objet n'est pas définie à une instance d'un objet.

    j'aarive pas a savoir ce ke ca veut dire.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/11/2009, 18h45
  2. Exportation données excel vers sql server 2005, en ASPX?
    Par Micke7 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/01/2007, 14h57
  3. [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
  4. 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
  5. Exporter une base MSDE vers SQL Server
    Par Noodles dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 20/01/2005, 13h56

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