我正在用从远程数据库(remotedb,oracle)提取的数据填充本地数据库(localdb,sql server)中的表。
远程数据库是跨Internet的,当然,本地数据库是我的数据库服务器的本地数据库。
我需要从remotedb中提取数据,为了从remotedb中提取数据,我只需要从特定的键值中提取数据(例如,remotedb表上的用户id字段)。
这套钥匙很大,大约有10000把。
哦,顺便说一下,remotedb是只读访问,我不能访问imp/exp或batch之类的内容,也不能访问服务器(它是由外部供应商提供的)。
目前,我正在使用这样的查询:
SELECT
<my data>
FROM
<remotedb>.<remote_table> join <remotedb>.<remote_table> ...
WHERE
<remotedb>.<remote_table>.<remote_field> in
( <select that returns my 20,000 IDs> )
对我来说,这似乎是一个野蛮的解决办法,但我想不出其他的办法。
有人解决了这个问题吗?
最佳答案
如果我没看错你的陈述,我们在过去的一家公司也遇到过类似的问题,这导致了业绩下滑。除非供应商可以提前为您提取所有信息,并且您可以对此执行查询,否则我看不到其他解决方法。
关于sql-server - 如何从本地数据库中查询具有巨大where子句的远程数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13389083/