Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将XML文件导入SQL Server 2012_Sql_Sql Server_Xml - Fatal编程技术网

如何将XML文件导入SQL Server 2012

如何将XML文件导入SQL Server 2012,sql,sql-server,xml,Sql,Sql Server,Xml,我有一个XML文件要导入到SQLServer2012。我以前没做过,知道的也不多。经过一些研究,我尝试使用在SQLServerManagementStudio中运行的以下命令打开xml文件 SELECT CAST(x as XML) FROM OPENROWSET( BULK 'C:\bulk\Users_test1111.xml', SINGLE_BLOB ) AS X 为此,我得到以下错误: Msg 4861, Level 16, State 1, Line 1 Cannot bulk

我有一个XML文件要导入到
SQLServer2012
。我以前没做过,知道的也不多。经过一些研究,我尝试使用在SQLServerManagementStudio中运行的以下命令打开xml文件

SELECT CAST(x as XML) FROM OPENROWSET(
BULK 'C:\bulk\Users_test1111.xml',
SINGLE_BLOB
) AS X  
为此,我得到以下错误:

Msg 4861, Level 16, State 1, Line 1
Cannot bulk load because the file "C:\bulk\Users_test1111.xml" could not be opened. Operating system error code 3(The system cannot find the path specified.).
您建议如何将文件放入数据库?

使用SSIS。 使用XML数据源创建SSIS包。 如果您不能使用/没有集成服务,请使用UNC文件路径来消除本地/网络问题

编辑:我在口吃之前没有练习google fu,我最初的一个想法是不正确的。

使用SSIS。 使用XML数据源创建SSIS包。 如果您不能使用/没有集成服务,请使用UNC文件路径来消除本地/网络问题


编辑:我没能在口吃之前练习google fu,我最初的一个想法是不正确的。

试试这个,我增加了一些专栏向你展示

文件还需要位于服务器本身(路径需要位于服务器上)


试试这个,我包括了一些额外的专栏向你展示

文件还需要位于服务器本身(路径需要位于服务器上)


我猜你和我有同样的问题。使用SQL Server加载文件时使用的一些命令要求文件位于实际的DB服务器上。如果您是从另一台计算机上运行SQL Server Management Studio,则会出现此问题。

我猜您的问题与我的问题相同。使用SQL Server加载文件时使用的一些命令要求文件位于实际的DB服务器上。如果您是从其他计算机运行SQL Server Management Studio,则会出现此问题。

错误消息
系统找不到指定的路径。
表明无法找到文件所在的位置。检查它是否真的在那里。@jpg它在,但在本地。它是否应该与sql server位于同一台服务器上?因为您引用的路径是该计算机的本地路径,所以在其上运行的查询必须是该计算机上有效的路径。所以是的。@jpw好的,这个问题解决了。现在,如何将该文件导入sql server?您所说的“导入”是什么意思?是否要将其“按原样”存储在XML列中?或者将其解析为多行?错误消息
系统无法找到指定的路径。
表明无法在文件应位于的位置找到该文件。检查它是否真的在那里。@jpg它在,但在本地。它是否应该与sql server位于同一台服务器上?因为您引用的路径是该计算机的本地路径,所以在其上运行的查询必须是该计算机上有效的路径。所以是的。@jpw好的,这个问题解决了。现在,如何将该文件导入sql server?您所说的“导入”是什么意思?是否要将其“按原样”存储在XML列中?或者将其解析为多行?
INSERT INTO TestTable(TestId, TestXml, TestText)

Values('1', (  
SELECT * FROM OPENROWSET(
   BULK 'C:\bulk\Users_test1111.xml',
   SINGLE_BLOB) AS x), 'Some Test Text')