我想知道是否有任何方法可以访问我的本地硬盘驱动器以使用BULK INSERT
或其他命令从CSV文件将数据插入SQL Server数据库表。
之前我使用过BULK INSERT
但为了使用它,我必须将CSV文件放在服务器的硬盘上,而不是本地硬盘上。我可以访问服务器所在计算机的硬盘。
这次我只对SQL Server有读写权限,但对安装的整个计算机没有。
有没有人对我如何做到这一点有任何建议?
答案 0 :(得分:3)
如果要使用BULK INSERT
,则需要将文件放到SQL Server可以看到的位置(可能是文件共享)。或者在另一台服务器上执行BULK INSERT
,然后通过链接服务器,SSIS等将数据移动到其他SQL Server。
当然,CSV并不是一个复杂的格式 - 您可以通过将CSV分解为集合并使用table-valued parameters或使用SqlBulkCopy从简单的C#应用程序轻松完成此操作。
答案 1 :(得分:0)
我设法解决了我的问题。我在本地服务器上创建了一个临时数据库,并在本地对临时表执行了“BULK INSERT”。然后我将本地服务器链接到我想查询的服务器。最后,我得到了临时表(我将数据批量插入其中)和主数据库之间的内连接。
请参阅here了解如何创建数据库链接
另请参阅the first answer to this question,了解如何编写关于如何在两个服务器之间编写内部联接的内部联接语句。