错误 = [Microsoft][ODBC Driver 13 for SQL Server]无法打开 BCP 主机数据文件

ssms_新手

我有 1 个表,其中在每条记录的末尾包含一个 KEY 和一个文件引用。我还有另一个表,它有很多记录,每个记录都包含一个 KEY。然后我通过 KEY 将两个表链接在一起,并希望根据文件 ref 导出数据。当我将它作为选择查询运行时,它工作正常......但是当我运行它的目的是为每个文件 ref 生成一个文件时,它会失败并在行之前的标题中出现错误'SQLState = S1000, NativeError = 0'我有权访问该目录,并且正在服务器上运行代码。任何指导将不胜感激。

    DECLARE @File_number INT
    DECLARE @SQL VARCHAR(8000)
    DECLARE file_num CURSOR READ_ONLY FAST_FORWARD LOCAL FOR 
        SELECT DISTINCT File_number FROM map_sequence_tranid ORDER BY 1
    OPEN file_num
    FETCH NEXT FROM file_num INTO @File_number
    WHILE @@FETCH_STATUS = 0 BEGIN
    SELECT @SQL = 'bcp "SELECT b.File_number, a.[Field1], b.[Field2] from Table1 a, Table2 b where a.[Key]=b.[key] and b.File_number=' + CAST(@File_number as varchar(10)) + ' order by a.[key]" queryout ''E:\Path\file' + CAST(@File_number AS VARCHAR(10)) + '.txt'' -c -T -t'','' -S ' + @@SERVERNAME
    EXEC master..xp_cmdshell @SQL
    FETCH NEXT FROM file_num INTO @File_number
END
CLOSE file_num
DEALLOCATE file_num
杰米

需要访问共享的不是您的帐户。由于您是通过“xp_cmdshell”命令运行 BCP 命令,因此实际执行 bcp 命令的帐户与在 SQL Server 框上运行 SQL Server 服务的帐户相同。当您使用“xp_cmdshell”时,您将会话/身份验证抛在脑后,并将控制权传递给 SQL Server 之外的新会话。这是使用运行 SQL Server 服务的帐户完成的,并且命令在运行 SQL Server 的操作系统上执行。很可能,您甚至无法登录到 SQL Server 下的操作系统。

您必须确认 SQL 服务帐户有权访问共享。

我不确定这是您的问题,但可能是。您可以通过以下方式测试其他可能性:

  1. 打印@SQL 命令的内容而不是执行它。将该值复制到命令窗口中并尝试自己运行该命令。这将测试命令是否有效以及路径等内容是否有效。

  2. 如果可以,请登录到运行 SQL Server 的物理服务器(Windows?)。以 SQL Server 服务帐户登录。然后尝试在命令窗口中执行 bcp 命令。这是最完整的测试,但通常我们没有权限使用用于运行 SQL Server 服务的帐户进行身份验证。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL Server无法打开BCP主机数据文件

sql server的bcp错误

SQL Server OPENROWSET错误读取bcp文件

SQL Server 2014:无法使用bcp和格式文件将任何数据导入LocalDB(零行,无错误)

Linux 上的 BCP 实用程序:NativeError = 18456 错误 = [unixODBC][Microsoft][ODBC Driver 17 for SQL Server][SQL Server]用户登录失败

SQL Server BCP导出损坏的文件?

SQL Server BCP文件中的最后一个预期的列之后,Postgres复制错误额外的数据

Java SQL Server 2014无法打开数据库错误

如何在 SQL Server 中使用 bcp 运行 .sql 文件

BCP SQL Server成表

使用BCP将Datetime数据导入SQL Server Warehouse

使用 BCP 从 SQL Server 生成 XML 文件的问题

SQL Server bcp实用程序不会创建txt文件,

SQL Server BCP函数将不会写入文件

使用 BCP 将 CSV 文件导入 Azure SQL Server

如何使用 ODBC Driver 13 for SQL Server 处理文本列

如何修复 BCP 的“[Microsoft][SQL Server Native Client 10.0]String data, right truncation”错误

BCP SQL Server无效的日期格式

如何使用BCP写入远程SQL Server?

bcp sql server 2014-亚马逊

SQL Server BCP将二进制文件导出到文件:文件开头的其他数据

无法打开SQL Server数据库

SQL Server数据库主数据文件丢失

BCP从SQL导出到CSV文件,元数据,标题行

SQL Server BCP实用工具不正确的数据导入

BCP到SQL Server的“复制失败”问题(似乎与数据溢出无关)?

SQL Server BCP命令未将NVARCHAR(MAX)变量内容写入文件

BCP 实用程序 SQL Server 导出到 CSV - 永远不会创建目标 CSV 文件

SQL Server BCP批量插入管道,以文本限定符格式文件分隔