好的,我有一点问题...... 在我的项目中,我们有一个Oracle SQL Server。在数据库中,我可以访问其他一些用户表:
Tables:
|-bla
|-bla
Users:
|-otherUser (let's just call him that)
|-Tables:
|-aTable
在Oracle中,要访问aTable
表,我使用SELECT * FROM otherUser.aTable
现在,我们还有一个MS SQL CE数据库,我使用MS Sync f / w从OracleDB同步数据。在CE db中 - 同步后 - 我得到一个表otherUser.aTable
。这听起来不错,所以即使CE没有用户概念,它也会添加相同的表格。
但问题是当在CE上调用与在Oracle上相同的SQL查询时,我得到表名无效错误。相反,如果我想获得表格的内容,我发现的两种方式是使用[]或“”围绕otherUser.aTable
。
然而,它们似乎都不适用于Oracle。 []似乎是一个非法的名称,“”似乎搜索一个只是那个(不是其他用户)的表。
那么我为什么不在Oracle上使用单向方式而在CE上使用另一种方式呢?我也使用NHibernate作为ORM,它需要两个数据库相同的表名...
是否有第三种方法来封装与Oracle中的用户一起使用的表名,并且只适用于CE?或者你有其他方法可以解决这个问题吗?
答案 0 :(得分:0)
我没有使用MS SQL的经验,但它看起来像是Oracle方面的同义词可能解决的问题。 尝试为Oracle中的otherUser.aTable创建同义词“otherUser.aTable”。