2

LogParserを使用して、関連する行を IIS ログファイルから SQL Server テーブルに挿入しようとしています。

次のようにテーブルを作成しました。

CREATE TABLE dbo.WebLog (Id INT IDENTITY, UserName VARCHAR(MAX),
    URL VARCHAR(MAX), DateStampUTC DATETIME)

これは私が LogParser を呼び出す方法です:

LogParser "SELECT cs-username, cs-uri-stem, TO_TIMESTAMP(date,time) 
INTO WebLog FROM ex*.log 
WHERE cs-uri-stem IN ('urlsThatICareAbout.html') AND cs-username IS NOT NULL" 
-server:<server> 
-database:<database>
-username:<username> 
-password:<password> 
-transactionRowCount:-1 
-ignoreIdCols:ON 
-o:SQL 
-driver:"SQL Server" 
-i:IISW3C

次のエラーが表示されます。

SQL table column "UserName" data type is not compatible with
    SELECT clause item "cs-username" (type STRING)

何か案は?タイプ STRING と VARCHAR(MAX) は互換性がありませんか?

4

2 に答える 2

2

これを NVARCHAR(1000) または 255 以下に減らしたいと思うかもしれません。一部の古いライブラリでは、VARCHAR(max) は TEXT/BLOB タイプと見なされます。VARCHAR と NVARCHAR の違いである可能性もあります(国際文字の場合)

于 2011-01-31T09:39:17.617 に答える