0
我有一個使用SSIS生成的文本文件。它有列分隔符「| @; @ |」而rowdelimiter是「\ r \ n | \ r \ n」。 我怎樣才能執行「OpenRowSet」查詢來獲得這個文本文件的特定列?帶自定義分隔符的OPENROWSET
下面是我試圖執行
SELECT a.* FROM OPENROWSET(BULK 'C:\temp\filename.txt',FORMATFILE = 'C:\temp\filename.fmt') AS a;
查詢和格式文件前三列如下。由於角色的限制不能在這裏發表的所有列數據
12.0
32
1 SQLCHAR 0 21 "|@;@|" 1 DimSiteID ""
2 SQLCHAR 0 21 "|@;@|" 2 DimActivityID ""
3 SQLCHAR 0 128 "|@;@|" 3 ActivityCategoryCode Latin1_General_100_CS_AS_KS_WS_SC
我得到如下錯誤:
消息4832,級別16,狀態1,行1 批量加載:在數據文件中遇到意外的文件結尾。 Msg 7399,Level 16,State 1,Line 1 鏈接服務器「(null)」的OLE DB提供程序「BULK」報告了錯誤。提供者沒有提供任何關於錯誤的信息。 Msg 7330,Level 16,State 2,Line 1 無法從鏈接服務器「(null)」的OLE DB提供程序「BULK」中獲取一行。
請幫忙找出錯誤在我的查詢
問題是我的源數據文件(文本文件)是unicode。我是否需要在openrowset查詢中添加任何內容以使其與unicode文本文件一起工作? – Radhi
在note ++中打開(顯示所有字符模式)並檢查你的columndelimiter是否合適 –