.NET / Oracle: Как программно выполнить скрипт с операторами DDL
Я хочу сделать некоторые программные манипуляции с базой данных оракула в C #. Поэтому я борюсь с некоторыми основными вопросами.
SQL-операторы ddl находятся в файле сценария. Я не хочу использовать sqlplus.exe, но я хочу использовать OracleCommand из сборок ODP.NET (System.Oracle.DataAccess). Вот пример моего файла сценария:
script.sql:
DROP TABLE ABCDEF;
DROP TABLE GHIJKL;
Я хочу отметить:
Скрипт содержит операторы DDL (язык определения данных)Скрипт содержитпустые строкиСкрипт содержитболее одного заявленияСледующий код должен выполнить мой скрипт:
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();
}
}
Выполняя этот код, я получаю ошибку оракула:
Oracle.DataAccess.Client.OracleException: ORA-00911: недопустимый символ
Может быть, есть некоторые проблемы с форматированием заявлений, я думаю. Любая подсказка приветствуется. Спасибо.
---РЕДАКТИРОВАТЬ---
Проще говоря, мои потребности простым способом: я ищу подход для выполнения любого сценария sql / ddl, который исполняется SQL Plus программно с использованием C #.