Allora questo è quello che ho scritto... riassumo in parole povere..
Si collega a un DB access, prende il "codice articolo" e nen ciclo "While" associo il valore del RS ad una variabile, apro la connessione AS, lancio la Funzione per ripescare la descrizione dell'articolo che poi andro a scrivere nel DB ACCESS.
Solo che mi da ERRORE
Tipo di errore:
ADODB.Command (0x800A0E7D)
The connection cannot be used to perform this operation. It is either closed or invalid in this context.
/webas/ambprovadata/creasunto.asp, line 75
questa è la riga 75
Codice PHP:
Set AS400File_rs = AS400Command.Execute
sembra che non apra la connessione o qualcosa del genere... x me si perde nei passaggi ma non so proprio come!!!
Riporto il codice...
Codice PHP:
<%
Server.ScriptTimeout = 120
Session("AS400_Userid") = "XXXX"
Session("AS400_Password") = "XXXX"
Session("Library") = "gip320test"
Session("Library")=Server.URLEncode (Session("Library"))
Session("FileName") = "anpro00f"
Session("FileName")=Server.URLEncode (Session("FileName"))
Session("AS400_SystemName") = "10.10.1.47"
'------------ Varialibi MAIN-----------------
Dim Acodice, Adesc, Atp ' variabili per recordset
Dim Conn ' Connessione ACCESS
Dim Sql ' var per Query
Dim filepatch ' Percorso DB ACCESS
'---------- Varialibi AS400 -------------------
Dim AS400Connection
Dim AS400Command
Dim AS400File_rs
Dim ConnectionString
Dim CommandText
Dim CommandType
'----------------------------------------------------------
'============================ Procedura per creare il db distinct dei codici
filepatch= Server.MapPath ("DBfabbi/appofabb.mdb")
Sql="SELECT distinct codart, tp FROM replicafabb"
set Conn= Server.CreateObject("ADODB.Connection")
Conn.open ("Provider = Microsoft.Jet.OLEDB.4.0;Data Source =" +filepatch)
set Rs_ADB = Server.CreateObject("ADODB.Recordset")
set Rs_ADB = Conn.Execute (Sql)
'------------------------Inserisce i record nella tabella TB_fabb -------------
While NOT Rs_ADB.EOF
Acodice=Rs_ADB(0)
Atp=Rs_ADB(1)
Response.Write Acodice & "</br>"
Call ConnAS()
Adesc=PrendiDesc(Acodice)
Call ChiudiAS()
'Adesc=replace(Adesc1 ,"'","''")
Response.Write ("descrizione") & Adesc & "</br>"
' Aforn=Codfornitore(Acodice)
' Sql1= "INSERT INTO TB_fabb (codice,tp,desccod) VALUES ('"& Acodice &"','" & Atp & "','"& Adesc &"')"
' Conn.execute(Sql1)
' Ragionesoc(Acodice)
Rs_ADB.movenext
Wend
Rs_ADB.Close
Set Rs_ADB=Nothing
Conn.Close
Set Conn = Nothing
'===============================================================================
'----va nell AS e a parità di codice si prende la descrizione-------------------
Function PrendiDesc(Acodicex)
'-------------Comandi da eseguire sul sistema AS/400------
ConnectionString = "Provider=IBMDA400;Data Source=" & SystemName & ";"
CommandText = "SELECT A§DEAR FROM " & Session("Library") & "." & Session("FileName") & " WHERE (A§COAR = '"& Acodicex &"')"
CommandType = adCmdText
AS400Command.CommandText = CommandText
AS400Command.CommandType = CommandType
Set AS400File_rs = AS400Command.Execute
If (Err.Number = 0 ) Then
While NOT AS400File_rs.EOF
Response.Write ("Codice desc DA AS----= ") & AS400File_rs(0) & "</br>"
Response.Write ("Codice x nella funzione----= ") & Acodicex & "</br>"
PrendiDesc=replace(AS400File_rs(0) ,"'","''")
AS400File_rs.movenext
Wend
AS400File_rs.Close
Else
DisplayError AS400Connection, Err.Number, Err.Description, Err.Source, "Main"
End If
End Function
'============================================================================
Sub ConnAS()
On Error Resume Next
Set AS400Connection = Server.CreateObject("ADODB.Connection")
AS400Connection.Open ConnectionString,("Userid"),("passw")
Set AS400Command = Server.CreateObject("ADODB.Command")
AS400Command.ActiveConnection = AS400Connection
End Sub
'============================================================================
Sub ChiudiAS()
AS400Connection.Close
Set AS400Connection = Nothing
Set AS400Command = Nothing
End Sub
'===============================================================================
session.abandon
%>