我想对 C# 中的 oracle 数据库进行一些编程模式操作。因此,我在一些基本问题上苦苦挣扎。
ddl sql 语句位于脚本文件中。我不想使用 sqlplus.exe,但我想使用 ODP.NET 程序集 (System.Oracle.DataAccess) 之外的 OracleCommand。这是我的脚本文件的示例:
脚本.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# 以编程方式。