1

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

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

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

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

或者

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

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

非常感谢您的帮助!

4

2 回答 2

1

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

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

于 2013-07-04T15:12:42.363 回答
0

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

于 2013-07-04T10:25:10.307 回答