我已在oracle数据库添加好表。使用navicat可以访问到。
这个是配置文件json的reader部分。 
这个是报错,报没有存在这个表。 
我也试过表名用TEST."bd_store_config"等等,也是这样的报错。希望有大佬能够为我解答!不胜感激!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您的描述,您在Oracle数据库中创建了表,并且能够通过Navicat访问到这个表。但是,在使用配置文件(特别是JSON格式的配置文件)进行数据读取时,遇到了“表不存在”的错误。这里有几个可能的原因和解决方法:
表名大小写敏感:Oracle数据库在Linux环境下对表名是区分大小写的,除非你在创建表或引用表时使用了双引号("),明确指定大小写。如果你在JSON配置文件中没有正确匹配表名的大小写,就可能导致这个问题。请确保你按照创建表时使用的精确大小写来引用表名。
模式(schema)问题:在Oracle中,用户有其默认的模式,如果表不在当前连接用户的默认模式下,需要使用schema_name.table_name的方式来引用。比如,如果表属于TEST模式,正确的引用方式应该是TEST.bd_store_config。确保你在JSON配置文件中正确指定了模式名(如果有)。
转义字符处理:在JSON字符串中,如果表名中包含特殊字符(如双引号),需要正确转义。例如,如果表名确实需要用双引号包裹以保持大小写,那么在JSON中应写作\"bd_store_config\"。
权限问题:确认用于连接数据库的用户是否有足够的权限去访问那个表。有时候,尽管表存在,但因权限不足而无法查看。
配置文件格式或路径问题:虽然这看起来与表不存在的错误不直接相关,但有时配置文件的其他错误(如格式不正确、路径错误等)也可能导致解析失败,间接表现为找不到表的错误。
驱动或库版本兼容性:确保你使用的数据库驱动或连接库与Oracle数据库版本兼容,有时旧版驱动可能无法正确识别某些数据库特性或对象。
建议检查并尝试以下操作: - 确认表名和模式名的大小写是否完全匹配。 - 如果表属于特定模式,请确保在表名前加上模式名,并正确引用。 - 检查JSON配置文件中是否有语法错误,特别是关于转义字符的处理。 - 确认数据库连接用户的权限。 - 确保使用的数据库驱动或连接库是最新的,并与你的Oracle数据库版本兼容。
如果可以提供具体的错误信息或配置文件的部分内容(注意不要泄露敏感信息),我可能能给出更具体的建议。