.NET / Oracle: Comment exécuter un script avec des instructions DDL par programmation

Je veux faire un programmatiques schéma de manipulation à l'encontre d'une base de données oracle en C#. Donc, j'ai du mal avec certains problèmes de base.

Le ddl sql sont situés dans un fichier de script. Je ne veux pas utiliser sqlplus.exe mais je veux utiliser OracleCommand de l'ODP.NET assemblées (Système d'.Oracle.DataAccess). Voici un exemple de mon fichier de script:

script.sql:

DROP TABLE ABCDEF; 

DROP TABLE GHIJKL;

Je tiens à souligner:

  • Le script contient des instructions DDL (data definition language)
  • Le script contient des lignes vides
  • Le script contient plus qu'une seule déclaration

Le code suivant doit exécuter mon script:

var content = File.ReadAllText("script.sql");

using (var oracleConnection = new OracleConnection(_connectionString))
{
     oracleConnection.Open();

     using (var command = new OracleCommand(content) { Connection = oracleConnection })
     {
          command.CommandType = CommandType.Text;
          command.ExecuteNonQuery();
     }
}

L'exécution de ce code, j'obtiens une erreur oracle:

Oracle.DataAccess.Client.OracleException: ORA-00911: caractère non valide

Peut-être il ya un problème avec la mise en forme de la déclaration, je pense. Tout conseil est le bienvenue. Merci.

---EDIT---

Pour résumer mes besoins de manière simple: je recherche pour une approche d'exécuter du sql/script ddl, qui est exécutable par SQL Plus, par programmation avec C#.

Mise à JOUR: j'ai essayé d'envelopper le script du contenu avec "DÉCLARER COMMENCER à EXÉCUTER IMMÉDIAT"....' FIN;" comme cela devrait aider avec des instructions DDL, mais pas de chance, même message d'erreur

OriginalL'auteur user2516186 | 2013-07-18