从oracle表中选择sql server表中的列

Posted

技术标签:

【中文标题】从oracle表中选择sql server表中的列【英文标题】:select from oracle table where column in sqlserver table 【发布时间】:2016-07-16 16:41:38 【问题描述】:

我在 oracle 中有一个表,其中包含客户记录,在 Microsoft SQL Server 中有另一个表,其中包含某些标记客户的 30,000 多条记录。现在,我想从 oracle 中选择列在 Microsoft SQL Server 中的值。像这样:

SELECT oracleTable.custname 
FROM oracleTable 
WHERE oracleTable.idcol IN (/*LIST OF VALUES FROM SQL SERVER TABLE*/)

而且我没有权限在 oracle 数据库上创建表。

我必须在 C# 中创建一个函数,以这种格式返回列表值 '1','2','3','4' 并将其与我的命令文本连接,但 Microsoft SQL 服务器表包含超过 30,000 条记录,oracle 抱怨它只允许 1,000在一个列表中。

有人知道解决方法(C# 或 TSQL)吗?

【问题讨论】:

您是否在 Google 中搜索过答案 让我为你做这件事.. google.co.in/… 是的,我没有找到任何有用的答案。 我想过使用链接服务器,但我什至不允许在服务器上安装任何东西。在他们决定是否为我安装之前,我必须通过一些命令链发送请求。 【参考方案1】:

在 Oracle 中创建一个临时表,插入值,然后加入。

【讨论】:

【参考方案2】:

考虑到您提到的限制,我认为您应该考虑使用 C# 对其进行编码......您将拥有 DataTables 的灵活性。用 SQL Server 数据填充一个 DataTable,用 Oracle 填充另一个。现在您可以使用 Linq 获取所需的数据了。

希望这会有所帮助。

【讨论】:

以上是关于从oracle表中选择sql server表中的列的主要内容,如果未能解决你的问题,请参考以下文章

根据 SQL Server 中表中的列值从两个表中获取一个新表:

当 SQL Server 表中的列“createdDate”从现在起经过 90 天后,如何更新其具有数百万行的列?我们可以使用触发器吗?

将表中的一列替换为不同表中的列并选择 *

SQL Server:复制表中的列

使用带有 oracle 的链接服务器更新 SQL Server 上的查询

怎么显示Oracle数据库表中的列