好的,所以我有一个小问题......在我的项目中,我们有一个 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 查询时,我得到一个The table name is not valid错误。相反,如果我想获取表格的内容,我发现的两种工作方式是otherUser.aTable
用 [] 或“”包围。
但是,它们似乎都不适用于 Oracle。[] 似乎是一个非法名称,而 "" 似乎正在搜索一个名为该名称的表(而不是其他用户)。
那么,我为什么不在 Oracle 上使用一种方式,而在 CE 上使用另一种方式呢?好吧,我也使用 NHibernate 作为 ORM,它需要为两个数据库使用相同的表名......
是否有第三种方法来封装适用于 Oracle 中的用户并且只适用于 CE 的表名?或者您还有其他方法可以解决此问题吗?