-1
我有以下SQL查询时,我从Oracle的SQL开发人员工具运行它正常工作:SQL查询工作,而不是从代码
SELECT inn.TABLE_NAME, inn.COLUMN_NAME, inn.data_scale, inn.data_length,
inn.CONSTRAINT_TYPE
FROM
(SELECT t.TABLE_NAME, c.COLUMN_NAME, c.data_scale, c.data_length,
cons.CONSTRAINT_TYPE,
ROW_NUMBER() OVER(PARTITION BY t.TABLE_NAME, c.COLUMN_NAME ORDER BY
cons.CONSTRAINT_TYPE desc) num
from user_tables t join user_tab_cols c on c.table_name = t.table_name
left join all_cons_columns cols on cols.TABLE_NAME = t.TABLE_NAME and
cols.COLUMN_NAME = c.COLUMN_NAME
left join all_constraints cons on cons.constraint_name =
cols.constraint_name
WHERE t.tablespace_name = 'name') inn
WHERE inn.num=1
order by inn.TABLE_NAME, inn.COLUMN_NAME asc;
但是,当我在代码中运行它,我得到错误: “ORA-00933:SQL命令未正确结束”
任何想法?
感谢您的提前。
[编辑] OK,这是我的代码:
cmd.CommandText = Utilities.renderMethodFunc(command, commandParameters);
using (OracleDataReader dr = cmd.ExecuteReader())
{...}
,你可以在图片中看到的命令的价值 - 它正好就是我写的。 command
请编辑您的问题,包括您用来运行此查询的C#代码。这个错误几乎可以肯定你是如何在C#字符串文字中构造查询的。 “代码中的” –
“? **什么**代码?你的代码存在问题,但你不会发布它。 SQL Developer的查询工作正常,所以错误不在SQL代码中。然而,这只是你展示的唯一代码?你期望如何获得帮助? – mathguy
你有没有注意到在你的代码中sql的末尾有'sql引号',或者是semicolumn(;)? –