gpt4 book ai didi

oracle - 无法通过 ODP.NET 执行 SQL 查询 - 无效字符错误

转载 作者:行者123 更新时间:2023-12-01 08:41:52 26 4
gpt4 key购买 nike

我试图通过 ODP.NET 执行 SQL 查询来创建表,但我总是收到 ORA-00911“无效字符”错误。异常中的错误对象始终包含文本“ORA-00911:无效字符\n”,即使 SQL 查询本身没有换行符也是如此。

我执行 SQL 的代码是这样的:

using (OracleConnection conn = new OracleConnection(<connection string>) {
using (OracleCommand command = conn.CreateCommand()) {
conn.Open();
command.CommandText = queryString;

command.ExecuteNonQuery(); // exception always gets thrown here
}

queryString 包含单个 CREATE TABLE 语句,在通过 SQL Developer 执行时可以正常工作

编辑:我正在执行的 SQL 是这样的:

CREATE TABLE "TESTSYNC"."NEWTABLE" (
"COL1" NUMBER(*,0) NULL,
"COL2" NUMBER(*,0) NULL
);

删除换行符

最佳答案

Other people遇到过这个问题——ODP.NET 不支持文本命令中的多个 SQL 语句。解决方案是将其包装在一个 PL/SQL block 中,并在每个语句周围使用 EXECUTE IMMEDIATE。缺乏对 ; 的支持对我来说似乎非常愚蠢,并没有改善我对 oracle 开发团队的看法。

此外,这似乎是 oracle 本身的问题,因为我对 MS 和 ODBC oracle 客户端也有同样的问题。

关于oracle - 无法通过 ODP.NET 执行 SQL 查询 - 无效字符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1524929/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com