2009-05-14 6 views
1

J'ai un script avec quelques requêtes de centaines de sql que j'ai besoin d'exécuter sur un Access DB. Puisque l'exécution de requêtes sql dans Access est un problème d'IMO, vous ne pouvez en exécuter qu'un seul à la fois et ne pas reconnaître les lignes de commentaires commençant par '-', je voudrais savoir s'il existe un moyen plus simple de le faire. Existe-t-il une bonne alternative à MS Access pour gérer une base de données Access?Exécution de SQL sripts sur un DB d'accès

Répondre

1

Deux options décentes:

Option 1: écrire un programme C# qui utilisera les bibliothèques DAO pour automatiser Access et exécuter les instructions d'un programme.

dao.DBEngineClass dbengine = new dao.DBEngineClass(); 
dbengine.OpenDatabase(path, null, null, null); 
dao.Database database = dbengine.Workspaces[0].Databases[0]; 
database.Execute(sql, null); 

Option 2: Ecrire un module VBA dans la base de données qui va faire la même chose en utilisant la méthode CurrentProject.Connection.Execute(). Dans les deux cas, vous pouvez placer ce code dans une boucle qui lit vos instructions et les exécute une par une.

2

Je suggère d'écrire une application ou un script PowerShell pour lire les requêtes d'un fichier et les exécuter sur la base de données Access. Lire ligne par ligne en ignorant les lignes commençant par votre délimiteur de commentaire.

0

Qu'en est-il de la configuration de liens à partir d'une base de données MS-SQL vers la base de données d'accès et l'exécution des scripts via MS-SQL? En supposant que vous ne modifiez pas les structures de table, vous devriez être OK.

Questions connexes