Salve a tutti!!
Ho un problema che mi sta facendo dannare da un paio di giorni. In poche parole prendo dei valori da un DB Access che confronto su un DB2 su AS400 e devo andare a riscrivere nel DB Access un valore corrispondente
Codice articolo dal DB access e la descrizione dal DB2!!
Le singole parti del codice funzionano, ma quando vado a mettere la variabile nella condizione where della query su AS400 , mi va in (credo) LOOP e di conseguenza in TImeOut!!
nell'esempio riportato ho inizializzato la var appo1 con un codice ed il RW mi da a schermo la sua descrizione, ma se provo a dargli la variabile che viene dal RS di Access non funziona piùcodice:' ---------- Apre la connessione con il DB Access ------ 'filepatch= Server.MapPath ("DBfabbi/appofabb.mdb") '------- Creo un RS con i codici con FLAG1 vuoto ----------- 'Sql="SELECT codice FROM Tb_fabbisogno WHERE flag1 IS NULL" '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) 'do while NOT Rs_ADB.EOF ' Acodice=Rs_ADB(0) ' Response.Write ("Codice da Access= ") & Acodice & "</br>" Adesc=PrendiDesc(Acodice) Response.Write ("Descrizione dalla funzione= ") & Adesc & "</br>" ' Aflag="x" ' Sql1= "UPDATE Tb_Fabbisogno SET desccod='" & Adesc & "', flag1='" & Aflag & "' WHERE (A§COAR='" & Acodice & "')" ' Conn.execute(Sql1) ' Rs_ADB.movenext 'loop '------------ chiudi RS e connessione ACCESS -------- 'Rs_ADB.Close 'set Rs_ADB = Nothing 'Conn.Close 'set Conn = Nothing '---------------- Funzione leggi AS------------------- Function PrendiDesc(Acodicex) Dim appo, appo1 'appo1=Acodicex appo1="69-202340A" Response.Write ("Var appo1----= ") & appo1 & "</br>" '------- dichiarazione di connessione AS400--------- ConnectionString = "Provider=IBMDA400;Data Source=" & Session("AS400_SystemName") & ";" CommandText = "SELECT A§DEAR FROM " & Session("Library") & "." & Session("FileName") & " WHERE A§COAR='" & appo1 & "'" CommandType = adCmdText '------ apertura connessione AS400-------------- Set AS400Connection = Server.CreateObject("ADODB.Connection") AS400Connection.Open ConnectionString,Session("As400_Userid"),Session("AS400_Password") Set AS400Command = Server.CreateObject("ADODB.Command") AS400Command.ActiveConnection = AS400Connection '-------------Comandi da eseguire sul sistema AS/400------ AS400Command.CommandText = CommandText AS400Command.CommandType = CommandType Set AS400File_rs = AS400Command.Execute If (Err.Number = 0 ) Then While NOT AS400File_rs.EOF appo=AS400File_rs(0) ' Response.Write ("Descrizione da AS----= ") & AS400File_rs(0) & "</br>" Response.Write ("Descrizione in appo da AS----= ") & appo & "</br>" ' PrendiDesc=AS400File_rs(0) PrendiDesc=appo AS400File_rs.movenext Wend AS400File_rs.Close Set AS400File_rs = Nothing AS400Connection.Close Set AS400Connessione = Nothing Set AS400Command = Nothing Else DisplayError AS400Connection, Err.Number, Err.Description, Err.Source, "Main" End If End Function![]()
![]()
![]()

Rispondi quotando
VVoVe:
