我正在尝试使用 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) 类型不兼容吗?
最佳答案
您可能希望将其减少到 NVARCHAR(1000) 甚至 255 或更少。 VARCHAR(max) 被一些较旧的库视为 TEXT/BLOB 类型。这也可能是 VARCHAR 和 NVARCHAR(对于国际字符)之间的差异
关于sql-server - LogParser:SQL 表列 "X"数据类型与 SELECT 子句项 "cs-username"(类型 STRING)不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4849335/