Webtrends のバージョンが 8.7 であるため、.net SDK や新しい RESTful を使用できません。そのため、ODBC の使用に制限されています。
最新の WT ODBC ドライバー 8.07.05.01 があり、.NET 4 を使用しています。
以下のコード
Dim objConnection As System.Data.Odbc.OdbcConnection
Dim objCommand As System.Data.Odbc.OdbcCommand
Dim objReader As System.Data.Odbc.OdbcDataReader
Dim sTimePeriod As String = "2013.m09.d03"
objConnection = New System.Data.Odbc.OdbcConnection("DSN=WT_DATA")
objConnection.Open()
Dim strSQl As String
strSQl = String.Format("SELECT QueryStringGif.QueryString " & _
"FROM QueryStringGif " & _
"WHERE (QueryStringGif.TimePeriod='{0}')",sTimePeriod)
objCommand = New System.Data.Odbc.OdbcCommand(strSQl, objConnection)
objReader = objCommand.ExecuteReader()
While (objReader.Read())
Dim url As String = objReader(0).ToString
myLogSession = waProcessor.GetLogSession(url)
If Not myLogSession Is Nothing Then
'# add to batch
myBatch.LogSessions.Add(myLogSession)
End If
End While
QueryString 全体をプルする代わりに、最初の 255 文字のみをプルします。次のクエリを実行すると、そこにさらにデータがあることがわかります。
SELECT QueryStringGif.QueryString, len(QueryStringGif.QueryString) FROM QueryStringGif WHERE (QueryStringGif.TimePeriod='2013.m09.d03')
フィールドの長さは常に 255 より大きくなります。
これは設定の問題ですか、それとも WebTrends の制限ですか。