大容量插入-数据库服务器或本地计算机是否需要访问该文件



我的问题是,在MS SQL的BULK INSERT命令中,我应该把需要使用的文件放在哪里。

我有一个数据库在服务器上运行。我从同一网络上的机器通过ODBC连接对此进行查询。我想创建一个存储过程,该存储过程将使用大容量插入从.txt文件导入数据,然后从我的计算机上执行此存储过程(通过单击Excel工作表中的按钮)。

至少可以说,我不是SQL Server实际工作方式的专家,所以我认为这是一个非常基本的问题。大容量插入中使用的.txt文件是否需要位于可以读取的位置:

a) 我的机器,例如本地硬盘上的

b) 在数据库服务器可以读取的位置上,例如在网络上可以访问的某个地方

我不确定我的本地机器或服务器是否真的在打开文件。我想是服务器,但我想确定一下!

非常感谢您的帮助!

如果该文件不在服务器计算机上,则需要确保SQL server可以访问该文件。这就变成了权限问题。特别是,您需要查看的权限是SQL Server服务的登录帐户。打开服务控制面板,找到SQL Server服务,然后在属性部分检查登录帐户。

一般来说,向SQL Server服务帐户授予过多的网络权限不是一个好主意,因为这会允许黑客访问服务器计算机之外的资源。

如果您指的是T-SQL中的BULK INSERT命令,则"data_file"的名称可以是本地文件名或UNC路径,即运行查询的SQL Server计算机的本地路径。您可以将要导入的文件放在SQL Server计算机上托管的共享或SQL Server可以访问的网络中的任何其他共享上。

最新更新