如何将Excel表连接到SQL Server数据库中的表

时间:2015-09-15 23:26:54

标签: sql sql-server powerpivot

我在Excel文件中有一个表(tbl1),行数约为70k。我已将该表链接到Power Pivot。 SQL Server中还有另一个表(tbl2),我需要将数百万行连接到我的Excel文件中的表

tbl1.[Member Number] = tbl2.[memid]

我应该使用什么查询来执行此操作,而无需从SQL Server导入整个tbl2(由于内存限制而在Power Pivot上引发错误)?

首选环境是Power Pivot,但我确实有SQL Sever Management Studio。我在tbl2所在的服务器中没有WRITE权限。但是我在不同的服务器上有WRITE访问权限。

谢谢!

2 个答案:

答案 0 :(得分:1)

将Excel文件导入您具有WRITE访问权限的SQL服务器,在那里进行连接并从该服务器导入数据。你用这种方法看到的任何问题?

答案 1 :(得分:0)

我想到了一些选择:

  • 获取更多内存/ 64位Excel并使用当前正在尝试的PowerPivot。如果你正在使用32位excel,那么你实际上只能使用1GB的RAM,而在64位你可以使用你所拥有的一切。 64位Powerpivot可以处理数亿条记录。
  • 将SQL数据和csv读入R,执行连接并将输出写入WRITE数据库或另存为CSV以输入PowerPivot。虽然R有一个陡峭的初始学习曲线,但使用dplyr库做这种事情很简单。
  • 将您的SQL表转储到csv,并将当前的csv读入WRITE数据库并在PowerPivot SQL查询中进行连接。

最佳效果可能取决于您拥有的技能以及您执行此操作的频率。我可能会沿着'R'路线走下去,因为你可以将它设置为预定的工作。