C# 尝试在C中创建表时出现“ORA-00922:缺少或无效选项”
以下是我的基本create table语句: 下面是C代码: 这会产生以下错误:ORA-00922:缺少或无效选项C# 尝试在C中创建表时出现“ORA-00922:缺少或无效选项”,c#,sql,oracle,C#,Sql,Oracle,以下是我的基本create table语句: 下面是C代码: 这会产生以下错误:ORA-00922:缺少或无效选项 我知道连接字符串很好,我已经完成了select语句和GetSchema调用。我能够将上面的查询复制粘贴到SQLDeveloper中,并成功运行。我目前正在运行Oracle 12c。我不知道我做错了什么。请不要使用大小写列,这意味着您每次都需要完全正确。选择一个名称,不带空格或大小写等,并删除双引号。由于不返回任何内容,请尝试ExecuteOnQuery而不是ExecuteRead
我知道连接字符串很好,我已经完成了select语句和GetSchema调用。我能够将上面的查询复制粘贴到SQLDeveloper中,并成功运行。我目前正在运行Oracle 12c。我不知道我做错了什么。请不要使用大小写列,这意味着您每次都需要完全正确。选择一个名称,不带空格或大小写等,并删除双引号。由于不返回任何内容,请尝试ExecuteOnQuery而不是ExecuteReader。还要发布创建SQL语句的确切C代码-双引号可能很难直接插入字符串。@Ben我不能这样做,因为这些列是通过编程从第三方源代码生成的。它们可能同时包含空格和其他无效字符。@DStanley感谢您的建议,但使用ExecuteOnQuery时会得到相同的结果。至于公布确切的代码,这是不可能的。正如我上面的评论所暗示的,sql_命令是通过编程生成的。但是,通过在调试模式下检查变量,我复制粘贴了sql_命令所包含的内容。我还在代码的其他地方将该行写入一个文件以进行调试,这两行代码看起来都与发布的内容相同。
CREATE TABLE "TESTTABLE" ( "Sub Continent" CLOB,"Continent" CLOB,"Date" DATE,"Members" NUMBER );
OracleConnection myConnection = new OracleConnection(connectionString);
myConnection.Open();
if (myConnection.State == System.Data.ConnectionState.Open){
OracleCommand myCommand = new OracleCommand(sql_command, myConnection);
OracleDataReader myReader = myCommand.ExecuteReader();
myCommand.Dispose();
myReader.Dispose();
}
myConnection.Close();