pd导入到oracle的表不能正常使用,报 "ORA-00942 表或者视图不存在" 的错误
原因由下:
使用pd和oracle连接需要注意引号以及表名大小写问题,pd 生成的脚本都是用双引号" "括起的,这样如果字母有小写,在数据库中自动生成小写的对象,如表和字段,如果使用这些对象时不用双引号括起来,就会提示找不到对象。
解决方法:
1. 在sql语句中也用""把表名引好,如 stmt.executeQuery("select * from \"syUser\"");
2. 打开pd,进入Tools -> Model Options -> Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行!
3. 选择Database -> Edit current database -> Script -> Sql -> Format,有一项CaseSensitivityUsingQuote,它的 comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为"YES",改为"No"即可!
推荐用第2种方法.
原因由下:
使用pd和oracle连接需要注意引号以及表名大小写问题,pd 生成的脚本都是用双引号" "括起的,这样如果字母有小写,在数据库中自动生成小写的对象,如表和字段,如果使用这些对象时不用双引号括起来,就会提示找不到对象。
解决方法:
1. 在sql语句中也用""把表名引好,如 stmt.executeQuery("select * from \"syUser\"");
2. 打开pd,进入Tools -> Model Options -> Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行!
3. 选择Database -> Edit current database -> Script -> Sql -> Format,有一项CaseSensitivityUsingQuote,它的 comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为"YES",改为"No"即可!
推荐用第2种方法.