当前位置: 首页 > 面试题库 >

如何通过mssql存储过程读取远程(网络)计算机中xml文件的内容

施俊明
2023-03-14
问题内容

我试图使用批量插入来读取本地计算机中单个html" target="_blank">xml文件的内容。

SELECT * FROM OPENROWSET ( BULK '''+ @FILENAME+''' , SINGLE_CLOB ) AS xmlData

它正在工作,但是我正尝试从远程计算机读取相同的内容。其给出以下错误

Msg 4861, Level 16, State 1, Line 1
Cannot bulk load because the file "Z:\TechnicalLoss_EnergyAccounting_10.10.2012.12.19.PM.XML" could not be opened. Operating system error code 3(The system cannot find the path specified.).

我给的文件路径为

\\172.16.11.52\D:\TechnicalLoss_EnergyAccounting_10.10.2012.12.19.PM.XML

它给出了相同的错误,然后,我为该远程计算机创建了网络共享驱动器,即文件路径为(z :)为

Z:\TechnicalLoss_EnergyAccounting_10.10.2012.12.19.PM.XML

同样的错误:-(帮助我解决吗?


问题答案:

这里的问题似乎与文件共享有关,而不与SQL Server有关。

首先,驱动器映射是针对每个用户的,因此在使用SQL Server时使用驱动器号会导致问题,因为SQL
Server服务帐户没有映射任何驱动器号。因此,最好完全避免使用驱动器号,而只需使用UNC路径即可。

接下来,份额的形式为\\ServerName\Share。您似乎要访问的文件位于D:驱动器的根目录中,因此正确的路径应为\\172.16.11.52\D$\TechnicalLoss_EnergyAccounting_10.10.2012.12.19.PM.XML。但是,请注意,这D$是默认的管理员共享,只有管理员可以使用它。由于SQL
Server服务帐户希望没有管理员权限,因此您无论如何都不要使用它,将文件存储在任何驱动器的根目录中(尤其是C:)通常是一种不好的做法。

最后,即使您拥有共享,用于访问共享的帐户也必须同时具有共享和文件系统的权限。这是使用域帐户运行SQL
Server的
好处之一。

总之,您可能需要做的是:

  1. 如果还没有,请使用域帐户运行SQL Server(请参阅上面的链接)
  2. 为您的文件创建一个文件夹,调用它D:\XMLFiles(或您喜欢的任何文件)
  3. 共享文件夹,所以现在您有一个名为 \\172.16.11.52\XMLFiles
  4. 确保SQL Server服务帐户具有读取共享的权限
  5. 再次尝试您的代码:

SELECT * FROM OPENROWSET ( BULK '\\172.16.11.52\XMLFiles\TechnicalLoss_EnergyAccounting_10.10.2012.12.19.PM.XML' , SINGLE_CLOB ) AS xmlData



 类似资料:
  • 更多面试题总结请看:【面试题】技术面试题汇总 前言 本文通过在 Docker 容器中执行命令,来深入了解两台主机之间的通信过程。阅读完本文,我们将熟悉以下内容: Docker 的基本操作 创建 socket 并发送 HTTP 请求 路由表、路由决策过程 ARP 协议、ARP 表更新过程 本文也是输入一个 URL 到页面加载完成的另一个角度的回答,我们将解决以下两个问题: 不同局域网的两台主机之间的

  • 问题内容: 我需要在存储过程中读入由SSIS包创建的日志文件。 有什么好方法吗? 我尝试使用此代码,但将文件内容显示为乱码。有没有解决的编码问题?有没有更简单的方法? 问题答案: 您是否尝试过将笔直插入?例如:

  • 本文向大家介绍MSSQL事务的存储过程,包括了MSSQL事务的存储过程的使用技巧和注意事项,需要的朋友参考一下 在酒店管理系统开发中,我们会创建房间表和房间类型表(房型表)这两个表,如下图所示: 房型表:RoomType             房间表:Room   首先这两个表的关系:Room是从表,RoomType是主表,两表有主外键关系,RoomType.rTypeId=Room.rType

  • 本文向大家介绍通过openpyxl读取excel文件过程解析,包括了通过openpyxl读取excel文件过程解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了通过openpyxl读取excel文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1、环境准备 python3环境、安装openpyxl模块 2、excel文件数

  • 我想访问服务器B上只能通过服务器a访问的远程文件夹。我在两台机器上都有帐户。 要访问B上的终端,我首先通过ssh连接到A,然后跳转到B。要使用B上的端口,我也会这样做,通过ssh隧道建立端口映射。 但是,要使用fish之类的协议从图形文件管理器(如dolphin)访问B上的文件夹,我该怎么做?如何建立中间连接? 我尝试了一种间接的方法,从本地主机:端口到中间机器,从中间机器到目标机器,并连接到fi

  • 问题内容: 我正在寻找一个存储过程代码,该代码将打开一个文本文件,读取几千行,并将该代码添加到数据库中的表中。有一种简单的方法可以在T-SQL中实现吗? 问题答案: 如果文件已准备好按原样加载(无需数据转换或复杂映射),则可以使用“批量插入”命令: http://msdn.microsoft.com/en- us/library/ms188365.aspx