mickeycc Inviato 27 Novembre 2012 Condividi Inviato 27 Novembre 2012 Salve, sono in difficoltà con l'utilizzo di una query SQL in una pagina ASP. Testata con Query Analyzer, la query fa il suo lavoro egregiamente (o quasi, dovrei affinare la logica, ma il risultato per ora è accettabile). Il problema mi si pone quando la porto nella mia pagina ASP poichè non so come utilizzare due connessioni contemporaneamente. Ho trovato soluzioni che si riferivano sempre a due query separate. Bando alle ciance, ecco la query : SELECT (DB1.dbo.T_CORPO.C_UFF_SEGN) as comandoD, (DB1.dbo.T_CORPO.ANNO) as annoD, (DB1.dbo.T_CORPO.PROGRESSIVO) as numeroD, (DB2.dbo.T_CORPO.C_UFF_SEGN) as comandoV, (DB2.dbo.T_CORPO.ANNO) as annoV, (DB2.dbo.T_CORPO.PROGRESSIVO) as numeroV, (DB2.dbo.T_CORPO.RFRCNMBR_SDI) as rifSDI FROM DB1.dbo.T_CORPO, DB2.dbo.T_CORPO WHERE DB1.dbo.T_CORPO.RFRCNMBR = DB2.dbo.T_CORPO.RFRCNMBR_SDI AND DB1.dbo.T_CORPO.D_SEGN = DB2.dbo.T_CORPO.D_SEGN AND DB1.dbo.T_CORPO.RFRCNMBR IN (SELECT DB2.dbo.T_CORPO.RFRCNMBR_SDI FROM DB2.dbo.T_CORPO WHERE DB2.dbo.T_CORPO.NOTA LIKE '%testodacercare%') ora, pur creando due connessioni, quando arrivo qui : objRs.Open myquery, ConnSQL come gli dico che la connessione deve interessare entrambi i DB? Altra cosa, per me è importante che l'utente che interroga i DB abbia solo diritti di lettura. Grazie Link al commento Condividi su altri siti Altre opzioni di condivisione...
mickeycc Inviato 30 Novembre 2012 Autore Condividi Inviato 30 Novembre 2012 Beh, altrove mi è stato detto che non è possibile connettersi contemporaneamente a due DB, ma il mio problema è che il risultato della prima query mi serve per costruire la seconda, quindi ho fatto così: '********************************************** ' COSTRUISCO LA QUERY '********************************************** myquery = "SELECT (DB2.dbo.TABELLAx.C_UFF_SEGN) as ufficioV, (DB2.dbo.TABELLAx.ANNO) as annoV, (DB2.dbo.TABELLAx.PROGRESSIVO) as numeroV, (DB2.dbo.TABELLAx.RFRCNMBR_SDI) as rifSDI, (DB2.dbo.TABELLAx.D_SEGN) as dataV FROM DB2.dbo.TABELLAx WHERE " '********************************************** ' Mi connetto ai DB '********************************************** Set ConnSQLD = Server.CreateObject ("ADODB.Connection") Set ConnSQLV = Server.CreateObject ("ADODB.Connection") ConnSQLD = "Provider=sqloledb;Data Source="&ipServer&";Initial Catalog=[b]DB1[/b];User Id="&UserId&";Password="&Password&";" ConnSQLV = "Provider=sqloledb;Data Source="&ipServer&";Initial Catalog=[b]DB2[/b];User Id="&UserId&";Password="&Password&";" '********************************************** 'collegamento ai DB Set objRs = Server.CreateObject("ADODB.Recordset") Set objRs2 = Server.CreateObject("ADODB.Recordset") objRs.Open myquery, ConnSQLV While objRs.EOF = false query2 = "SELECT (DB1.dbo.TABELLAx.C_UFF_SEGN) as ufficioD, (DB1.dbo.TABELLAx.ANNO) as annoD, (DB1.dbo.TABELLAx.PROGRESSIVO) as numeroD FROM DB1.dbo.TABELLAx WHERE DB1.dbo.TABELLAx.RFRCNMBR = '" & [b]objRs("rifSDI")[/b] & "'" objRs2.Open query2, ConnSQLD '********************************************** 'valorizzo le variabili DATO1 = objRs("ufficioV") DATO2 = objRS("annoV") DATO3 = objRs("numeroV") DATO4V = DATO1 & " " & DATO2 & " " & DATO3 While objRs2.EOF = false 'valorizzo le variabili DATO1 = objRs2("ufficioD") DATO2 = objRS2("annoD") DATO3 = objRs2("numeroD") DATO4D = DATO1 & " " & DATO2 & " " & DATO3 '********************************************** ' STAMPO RISULTATI '********************************************** %> <br> <p> <b><font size="2">- <%=DATO4V%> <---> <%=DATO4D%></font></b> <% '********************************************** objRs2.MoveNext Wend objRS2.Close() objRs.MoveNext Wend ' chiudo e distruggo tutto Set objRS2 = Nothing objRS.Close() Set objRS = Nothing '********************************************** Link al commento Condividi su altri siti Altre opzioni di condivisione...
Benato.Denis96 Inviato 3 Dicembre 2012 Condividi Inviato 3 Dicembre 2012 in informatica ed in elettronica una sola CPU NON può fare 2 cose contemporaneamente, nemmeno il multitasking è un vero multitasking. Comunque detto questo ti conviene aprire una connessione ad un db, eseguire la query e poi eseguire la seconda query nel secondo db, cosa posso dirti più di così? Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Crea un account o accedi per lasciare un commento
Devi essere un membro per lasciare un commento
Crea un account
Iscriviti per un nuovo account nella nostra community. È facile!
Registra un nuovo accountAccedi
Sei già registrato? Accedi qui.
Accedi Ora