我想对C#中的oracle数据库进行一些程序化的模式操作.因此,我在努力解决一些基本问题.
ddl sql语句位于脚本文件中.我不想使用sqlplus.exe,但我想在ODP.NET程序集中使用OracleCommand(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错误:
Oracle.DataAccess.Client.OracleException:ORA-00911:无效字符
我认为,这些陈述的格式可能存在一些问题.任何提示都表示赞赏.谢谢.
– -编辑 – –
以一种简单的方式总结我的需求:我搜索一种方法来执行任何sql / ddl脚本,该脚本可由SQL Plus执行,以C#编程.