我需要导出一个包含XML列的表(这个xml我包含任何特殊字符,因此我不能将它们用作列分隔符)到文本文件中。
我正在使用SQL Server 2014. XML列可能包含特殊字符,例如@
,|
,,
,?
,制表符,<cr>
很多可以用作分隔符的东西。
我想导出整个表格。 XML不是内部结构化的。列的最大长度约为6000个字符。该表有大约700k行。并且目标是SQL Server 2012中的相同表(比原始版本更低版本),它们位于不同的网络中。
我尝试将其导出为带有||
的.txt文件作为列分隔符。但是当我尝试将此文件导入目标表时,它表示文本被截断并且无法导入。
我能做到这一点的最佳方式是什么?
答案 0 :(得分:1)
你在评论中给出的所有答案都让我觉得你的方向错误......最好的方法应该是linked servers
:
请在此处阅读:https://msdn.microsoft.com/en-us/library/ff772782.aspx?f=255&MSPPError=-2147217396
此处提供更多信息:https://msdn.microsoft.com/en-us/library/ms190479.aspx?f=255&MSPPError=-2147217396
在SS2014中试试这个
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'YourLowerServer',
@srvproduct=N'SQL Server' ;
GO
您需要访问:
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = N'YourLowerServer',
@locallogin = NULL ,
@useself = N'True' ;
GO
如果这样做,您可以将INSERT INTO
从一台服务器直接用于另一台服务器。在SS2014中试试这个:
INSERT INTO YourLowerServer.YourDatabase.dbo.TableName(col1,col2,...)
SELECT col1,col2,... FROM dbo.TableName
如果您想在此操作后删除链接服务器,请使用sp_dropserver
(请参阅此处:https://msdn.microsoft.com/en-us/library/ms174310.aspx)
希望这会有所帮助......