Salve, ho la necessità di caricare i dati di log dentro un DB per poi esaminarli.
Però mi esce questo errore:
Tipo di errore:
ADODB.Recordset (0x800A0BB9)
Gli argomenti non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto.
POST Data:
logFileName=G%3A%5CWINNT%5Csystem32%5CLogFiles%5CW 3SVC1%5Cex040907.log&submit1=Avanti
Vi posto interamente i 2 files .asp così avete di fronte la situazione completa; con il primo file si estraggono e si selezionano i log da inviare al secondo file per poi essere inseriti nel DB (che ho chiamato logTable).
---------- Primo file ----------------
<%@ Language="VBScript" %>
<%
Dim fs, folder
Set fs = CreateObject("Scripting.FileSystemObject")
' selezionare la cartella contenente i logfiles
Set folder = fs.GetSpecialFolder(SystemFolder)
Set folder = folder.SubFolders.Item("LogFiles")
Set folder = folder.SubFolders.Item("w3svc1")
%>
<html>
<head><title>Gusto Piemonte - Selezione log da caricare</title></head>
<body link="#ff4040" bgcolor="#ffffff">
<SCRIPT Language="VBScript">
<!--
SUB CheckAll
Dim cb
For Each cb in document.loglist.elements
If cb.name = "logFileName" Then
cb.checked = document.loglist.allbox.checked
End If
Next
END SUB
-->
</SCRIPT>
<center>
<H4>Seleziona i logs da caricare nel DB</H4>
<FORM name="loglist" method="POST" action="02LoadLog.asp">
<table width="600" border="1" bgcolor="white" cellpadding="4" cellspacing="0">
<TR border="0" bgcolor="yellow" align="Left">
<TH></TH>
<TH>
<table border="0" width="550" cellspacing="0">
<tr>
<td><Font face="Arial">Nome log (anno,mese,data)</td>
</tr>
</table>
</TH>
</TR>
<%
Dim fileList, logFile
Set fileList = folder.Files
For Each logFile in fileList
%>
<TR bgcolor = "White" align="Left" bordercolor="#cccccc">
<TD WIDTH="1"><Font Size="2" Face="Arial" Color="Black">
<input type="checkbox" name="logFileName" value="<%=logFile.Path%>">
</TD>
<TD>
<Font Size="2" Face="Arial" Color="Black"><% =logFile.Name %>
</TD>
</TR>
<%
Set logFile = Nothing
Next
Set fileList = Nothing
%>
</table>
<table width="600" border="0" bgcolor="white" cellpadding="4" cellspacing="0">
<TR bgcolor="White" bordercolor="White">
<td width="1" valign="top">
<input name="allbox" type="checkbox" value="Check All" onClick="CheckAll">
</td>
<td>Seleziona tutti i files</td>
</tr>
</TABLE>
<INPUT type="submit" value="Avanti" name="submit1">
</form>
</center>
</body>
</html>
<%
Set fs = Nothing
Set folder = Nothing
%>
------------ secondo file -------------------
<%@ Language=VBScript %>
<%
Response.Buffer = TRUE
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<title>Gusto Piemonte - Carica logs</title>
</head>
<body link="#ff4040" bgcolor="#ffffff">
<center>
<table width="650" border="0" bgcolor="#ffffff" cellspacing="0" cellpadding="0">
<tr>
<td>
<H4>I logd sono stati caricati nel DB!</H4>
</td>
</tr>
<tr>
<td colspan="2">
<hr width="640">
</td>
</tr>
</table>
</center>
</BODY>
</HTML>
<%
Dim Con, rs, fs, file, fileName, fileString, fieldNameArray
Set Con = Server.CreateObject( "ADODB.Connection" )
Con.Open "adminDSN"
Set rs = Server.CreateObject( "ADODB.Recordset" )
rs.Open "logTable", Con, adOpenDynamic, adLockOptimistic
Set fs = CreateObject("Scripting.FileSystemObject")
For Each fileName in Request.Form("logFileName")
Set file = fs.OpenTextFile(fileName, ForReading)
While file.AtEndOfStream <> True
fileString = file.ReadLine
If Left(fileString, 8) = "#Fields:" Then
fieldNameArray = Split(Mid(fileString, 10))
Elseif Left(fileString, 1) <> "#" Then
rs.AddNew fieldNameArray, Split(fileString)
End If
Wend
rs.Update
file.Close
Set file = Nothing
Next
rs.Close
Set rs = Nothing
Con.Close
Set Con = Nothing
%>
--------------
L'errore viene segnalato in "rs.AddNew fieldNameArray, Split(fileString)" verso la fine del secondo file.
Come devo chiamare i campi del DB e come posso variare il codice per inserire i dati nel DB?
Ciao e grazie!!

Rispondi quotando