rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Export données [Oracle vers Access]

rikou31, le mardi 25 octobre 2005 à 23:11:48
Bonjour,

Voila j'ai une base ORACLE avec plusieurs INSTANCES (1 dixaine).

Je voudrai extraire certaine données des tables sur chaque INSTANCES, afin de créer un fichier (txt ou autre) pour importer dans ACCESS et cela quotidienement. (Tache planifiée)

Quel serai la solution et existe t'il un tuto .

Merci d'avance pour votre aide
Répondre à rikou31  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ricci, le jeudi 27 octobre 2005 à 13:01:00
Salut!

Tu peux essayer de faire un petit program en vb ou c par exemple.
Ce programme accède d'un côté à la base de données Oracle via ta requête, puis de l'autre à la base access.
Pour qu'il soit planifier utilise le planificateur de tâche de Windows.
Si tu ne sais pas comment faire le prog, dis moi le et je t'aiderais.

++
Ricci
Répondre à ricci

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Mike, le vendredi 4 novembre 2005 à 10:10:36
Bonjour,

J'ai le même besoin que rikkou31. Par contre, je ne sais pas comment faire le programme en VB.
Pourrais-tu m'aider là dessus ?

A+
Répondre à Mike

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ricci, le vendredi 4 novembre 2005 à 14:01:56
Salut!

Pour faire le programme, tu créer une application simple avec VB.NET (enfin c ce ke j'utilise).
Ensuite, tu créer par exemple un bouton sur ta fenêtre, ou alors tu dois pouvoir le faire en application console.

Enfin, soit sur le bouton, soit dans l'appli console, tu ajoute le code suivant :

'On déclare 2 connections (une pour oracle et l'autre pour Access)
Dim Conn As New System.Data.OleDb.OleDbConnection
Dim Conn2 As New System.Data.OleDb.OleDbConnection
'On déclare la requête
Dim Req As String
'On déclare les Objet nécessaire à son exécution
Dim Cmd As New OleDb.OleDbCommand 'Objet commande pour l'exécution
Dim Da As New OleDb.OleDbDataAdapter 'DataAdapter pour execution
Dim Ds as New DataSet 'DataSet
Dim Dt as DataTable 'DataTable
Dim Test As Boolean

'On commence ici en affectant la chaine de connection correspondante
Conn2.ConnectionString = "Provider=""Microsoft.Jet.OLEDB.4.0"";" & _
"Data Source=""123"";"
'On a 123 qui est remplacé par le chemin vers la base de données Access
'Pour Oracle il y a 2 connexion possible
'La première
Conn.ConnectionString = "Provider=""OraOLEDB.Oracle"";" & _
"Data Source=""nom_base_données"";" & _
"User ID=""nom_user"";" & _
"Password=""password"";"
'La seconde
Conn.ConnectionString = "Provider=MSDAORA.1;User ID=nom_user;Data Source=nom_base;Password=mot_de_passe;Persist Security Info=True"

'Je ne sais pas laquelle fonctionne, il faut essayer, mais je n'est pas Oracle installer sur mon ordi.

'ensuite en admétant que les base Access et Oracle (schéma des bases) soient identique.
'On exécute la requête
Req = "Select........." 'Pour la base de donnée Oracle
Conn.Open()
cmd.Connection = Conn
cmd.CommandText = Req
Da.SelectCommand = cmd
Nbl = Da.Fill(Ds, "liste")
Conn.Close()
Dt = Ds.Tables("Liste")

'Ensuite on copie dans la base Access

Cmd.Connection = Conn2
Cmd.CommandText = Req
Conn.Open()
Nbl = Cmd.ExecuteNonQuery
Conn.Close()
test = True
If Nbl <> 1 Then
test = False
End If
Return test
Répondre à ricci

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ricci, le vendredi 4 novembre 2005 à 14:09:05
Salut!

Pour faire le programme, tu créer une application simple avec VB.NET (enfin c ce ke j'utilise).
Ensuite, tu créer par exemple un bouton sur ta fenêtre, ou alors tu dois pouvoir le faire en application console.

Enfin, soit sur le bouton, soit dans l'appli console, tu ajoute le code suivant :

'On déclare 2 connections (une pour oracle et l'autre pour Access)
Dim Conn As New System.Data.OleDb.OleDbConnection
Dim Conn2 As New System.Data.OleDb.OleDbConnection
'On déclare la requête
Dim Req As String
'On déclare les Objet nécessaire à son exécution
Dim Cmd As New OleDb.OleDbCommand 'Objet commande pour l'exécution
Dim Da As New OleDb.OleDbDataAdapter 'DataAdapter pour execution
Dim Ds as New DataSet 'DataSet
Dim Dt as DataTable 'DataTable
Dim Test As Boolean

'On commence ici en affectant la chaine de connection correspondante
Conn2.ConnectionString = "Provider=""Microsoft.Jet.OLEDB.4.0"";" & _
"Data Source=""123"";"
'On a 123 qui est remplacé par le chemin vers la base de données Access
'Pour Oracle il y a 2 connexion possible
'La première
Conn.ConnectionString = "Provider=""OraOLEDB.Oracle"";" & _
"Data Source=""nom_base_données"";" & _
"User ID=""nom_user"";" & _
"Password=""password"";"
'La seconde
Conn.ConnectionString = "Provider=MSDAORA.1;User ID=nom_user;Data Source=nom_base;Password=mot_de_passe;Persist Security Info=True"

'Je ne sais pas laquelle fonctionne, il faut essayer, mais je n'est pas Oracle installer sur mon ordi.

'ensuite en admétant que les base Access et Oracle (schéma des bases) soient identique.
'On exécute la requête
Req = "Select liste des champs From Tables Where Conditions (s'il y en a)" 'Pour la base de donnée Oracle
Conn.Open()
cmd.Connection = Conn
cmd.CommandText = Req
Da.SelectCommand = cmd
Nbl = Da.Fill(Ds, "liste")
Conn.Close()
Dt = Ds.Tables("Liste")

'Ensuite on copie dans la base Access
Cmd.Connection = Conn2
Cmd.CommandText = Req
Conn.Open()
For i=1 To Nbl
Req = "Insert Into TaTable Values (Liste des tes champs)
Nbl = Cmd.ExecuteNonQuery
Next i
Conn.Close()
test = True

Voilà sa devrais marché. Si sa ne marche pas et que tu ne sais pas d'où sa vient contact moi.
Pour qu'il s'exécute régulièrement utilise le planificateur de tâches de Windows.

Voilà, voilà.

++
Ricci
Répondre à Ricci

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mathieu, le mercredi 25 octobre 2006 à 10:33:27
ça marche pas, quelqu'un peu m'aider ?
Répondre à mathieu

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mathieu, le mercredi 25 octobre 2006 à 11:52:57
lorsque je retranscri le code dans vb de access et que je lexecute, il ne recupere pas les donnees malgres ma requete ajouter ; je ne sais meme pas si la connection a lieu pourtant j'ai parametrer les driver ODBC...quelqu'un peut-il m'aider ?
MERCI
Répondre à mathieu

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 mathieu, le mercredi 25 octobre 2006 à 14:19:41
HELP
Répondre à mathieu
Logiciels pertinents trouvés dans les téléchargements
Télécharger WAMP Server 2.0cWAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de...Catégorie: Serveurs
Licence: Freeware/gratuit
Télécharger MP3List 2.2MP3List - MP3List permet de gérer une collection de MP3, il recherche automatiquement tous les fichiers MP3, lit les TAG et d’autres...Catégorie: Playlists
Licence: Freeware/gratuit
Télécharger WINFOKEYS 2.0.0.0WINFOKEYS - Décodage de clé d'installation WINFOKEYS affiche différents types d'informations, comme le nom de l'ordinateur, le nom de...Catégorie: Base de registre
Licence: Freeware/gratuit
Télécharger ItnConv 1.63ItnConv - ItnConv (Itineraire Convertisseur) est un utilitaire pour convertir un itinéraire contenu dans un fichier Autoroute Express,...Catégorie: Bureautique
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Export données [Oracle vers Access] »