在SQL Developer中使用INSERT和SELECT到其他模式时我可以因为同义词而无需插入INSERT和SELECT,但是如果我尝试在java代码中执行相同操作,它会说:
ORA-00942:表或视图不存在
通过
完成连接Class.forName("oracle.jdbc.driver.OracleDriver");
从app.properties文件加载的属性
InputStream in = this.getClass().getClassLoader().getResourceAsStream("app.properties");
答案 0 :(得分:0)
如果您使用架构和表名而不是同义词,它是否有效?
e.g。 SELECT * FROM HR.OFFICES(而不是SELECT * FROM SYNONYM_FOR_OFFICES)
如果这也不起作用,那么问题就在于plucins建议的数据库名称或凭据。
答案 1 :(得分:0)
通过使用includeSynonyms = true
连接Properties,它将起作用java.util.Properties info = new java.util.Properties();
info.put("user", user);
info.put("password", pwd);
info.put ("includeSynonyms", "true");
然后使用连接属性
conn = DriverManager.getConnection(url, info);
以这种方式它将起作用