L'exportation utilisateur Oracle tables MS Access automatiquement
Qui peut être le moyen le plus facile d'exporter quelques tables utilisateur (DDL et données) à partir d'une base de données Oracle à une base de données Microsoft Access Automatiquement, sans intervention de l'utilisateur.
Mise à JOUR: tables Liées à l'Accès de base de données soulève l'utilisateur/le dialogue de mot de passe pour vous connecter à oracle qui n'est pas une option valable.
- Vous pouvez lier les tables sans relèvement de l'utilisateur/mot de passe boîte de dialogue; voir ma réponse ci-dessous pour le code.
Vous devez vous connecter pour publier un commentaire.
Vous pourriez mettre en place des tables liées dans MS Access qui "point" pour le réel de données Oracle plutôt que de copier. De cette façon, les données sont toujours à jour.
Sinon, vous aurez besoin de créer un processus planifié, ou peut-être effectuer l'importation via VBA code à chaque fois que la base de données MS Access est ouvert.
Personnellement, j'irais avec les tables liées.
Avertissement
Quelques notes sur le code ci-dessous:
Elle ne vérifie pas si la table est déjà lié en premier. Si elle l'est, vous obtiendrez une erreur que vous devrez gérer.
Le nom d'utilisateur et mot de passe sont transmis en texte clair, ce qui est un risque pour la sécurité. Quelqu'un peut ouvrir votre base de données de code et d'obtenir toutes les informations dont ils ont besoin pour se connecter à votre base de données et potentiellement faire de tort. Si c'est important pour vous, vous devez compiler votre base de données Access à la MDE et de la diffuser, ou de trouver un moyen de chiffrement/déchiffrement de la connecter les infos à la volée.
Réponse
Vous pouvez utiliser ADOX pour lier les tables sans intervention de l'ID utilisateur et le mot de passe. Tout d'abord, définir une référence à la "Microsoft ADO Ext. 2.8 for DDL and Security" bibliothèque (Outils /Références... dans l'éditeur VBA). Si vous ne voyez pas cette entrée dans la liste des références disponibles, recherchez "msadox.dll" et l'ajouter manuellement. Votre numéro de version peut être différente, en fonction de votre version d'Access (j'utilise ici 2003).
Vous pouvez utiliser le code comme ce lien vers une table Oracle:
Que vous appelez le sous comme ceci:
Oracle peut écrire dans des fichiers plats à l'aide de UTL_FILE.
Ensuite, vous devez les placer à un endroit où la Base de données Access peut les télécharger.
Oracle Standard et Enterprise Edition incluent une JVM, vous pouvez donc avoir un code Java qui se connecte à l'Accès via JDBC et repousse les données de cette façon.
Aussi regarder Hétérogène de la connectivité de base de données et liens
http://www.oracle-base.com/articles/9i/HSGenericConnectivity9i.php
Qui ne peut être une option si votre DB Oracle est sur un serveur que l'on peut composer avec ODBC.
Enfin, sur les commentaires précédents, vous pouvez pousser les données dans un schéma distinct ou même d'un autre Oracle base de données (par exemple, la gratuite Oracle express edition) et ont l'Accès de base de données/de l'application ramasser à partir de là.