1

SQL Server 2005 のテキスト ファイルの 2 行目と最後の行を読み取る必要があります。行の内容はタブで区切られます。これを達成するために使用される一般的な方法は何ですか?データベースへのアクセスは読み取り専用であるため、データベースに一時テーブルを作成できないことに注意してください。

4

2 に答える 2

1

OPENROWSET を使用できます。その場合は、pls を参照してください

http://msdn.microsoft.com/en-us/library/ms190312.aspx

SELECT a.* FROM OPENROWSET( BULK 'c:\test\values.txt', 
   FORMATFILE = 'c:\test\values.fmt') AS a;
于 2012-11-10T00:20:55.517 に答える
0

行番号がわかっている場合(私のテストtxtファイルでは5行)

DECLARE @str nvarchar(max) = (SELECT line FROM OPENROWSET (BULK 'c:\your_file.txt' , SINGLE_CLOB ) AS xmlData(line))
;WITH cte AS (
         CAST('<r>'+REPLACE(@str, CHAR(13),'</r><r>')+'</r>' AS XML).query('/r[2]').value('.','varchar(max)') col2,
         CAST('<r>'+REPLACE(@str, CHAR(13),'</r><r>')+'</r>' AS XML).query('/r[5]').value('.','varchar(max)') col5                
 )
 SELECT CASE WHEN col2 = '' THEN NULL ELSE col2 END col2,  
        CASE WHEN col5 = '' THEN NULL ELSE col5 END col5
 FROM cte
于 2012-11-10T00:47:03.927 に答える