使用SQL命令計算文字檔內容的行數。
如果要使用MS SQL 計算文字檔內容行數,可以使用OPENROWSET方式來達成。
Select Count(*) as LineCount from OPENROWSET (BULK 'D:\Test\TextFile.txt', FORMATFILE='D:\Test\TestFormatFile.XML') TEST
其中TextFile.txt部份換上要讀取的文字檔,TestFormatFile.XML 換上撰寫好的格式檔,此處可以定義一列只有一筆資料。
範例如下(假設每行500字元,以換行符\r\n為資料筆數區隔):
<?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="CharFixed" LENGTH="500"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\r\n" />
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="TRMLine" xsi:type="SQLNCHAR" />
</ROW>
</BCPFORMAT>