Azure Data Studio导入含连字符的GUIDS数据时列拆分问题求助
解决SQL Server Import扩展误将连字符识别为分隔符的问题
调整导入向导的分隔符配置
在SQL Server Import扩展的导入流程中,找到指定分隔符的步骤,取消勾选“连字符(-)”作为分隔符选项。如果文件仅含单列数据,甚至可以选择“无分隔符”模式,让工具直接将整行内容识别为单一列。使用格式文件强制单列映射
创建XML格式文件,明确定义文件仅包含1列,直接读取整行内容。示例格式文件如下:<?xml version="1.0"?> <BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RECORD> <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="36"/> </RECORD> <ROW> <COLUMN SOURCE="1" NAME="GUIDColumn" xsi:type="SQLNVARCHAR"/> </ROW> </BCPFORMAT>导入时选择该格式文件,即可强制将每行完整内容导入到目标列,保留所有连字符。
临时预处理文件
用文本编辑器的批量替换功能,给每行GUID添加双引号(例如将00-15-BC-00-19-09-2B-E4替换为"00-15-BC-00-19-09-2B-E4"),然后在导入向导中设置双引号为文本限定符,工具会将引号内的内容视为单一列,不会拆分连字符。改用T-SQL BULK INSERT命令
跳过图形化工具,直接用T-SQL命令精准控制导入逻辑:BULK INSERT YourTargetTable FROM 'D:\YourGUIDFile.txt' WITH ( FIELDTERMINATOR = '\n', ROWTERMINATOR = '\r\n', DATAFILETYPE = 'char' );该命令会将每行完整内容导入到目标表的单列中,完全保留连字符格式。
内容的提问来源于stack exchange,提问作者user25774566
相关产品推荐
相关产品推荐

