Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    INSERT INTO Pasthrough da Access verso AS400

    Buongiorno a tutti,
    ho la necessità di fare un accodamento di dati da un db Access verso AS400.
    Per problemi logistici non posso fare una query standard di Access per fare l'accodamento (che funziona), ma mi vedo costretto a cambiare scrivendo un SQL da passare ad AS400 in modo che tolgo di mezzo il traffico dati con il mio server..

    N.b. Le tabelle interrogate nel select sono tutte su AS400

    Ho quindi fatto una query passthrough e sto utilizzando questa sintassi:
    codice:
    INSERT INTO Libreria.TabellaAS400
    Select *
    FROM(………………
    Se tolgo la prima riga di codice e nelle proprietà della query metto restituisci dati (in accodamento ho messo NO, appunto perchè deve scrivere) la query viene eseguita correttamente.

    Se invece tento di fare l'accodamento mi da questo errore:
    "Impossibile trovare la tabella o la query di input 'ODBC;DSN=LUX400'. Verificare che esista e che il nome sia stato digitato correttamente.

    Forse sto sbagliando la sintassi?
    A permessi lettura/scrittura sulla tabella di accodamento sono OK.

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    ma cosa è "LUX400" ??


    Io quando ho questi problemi ( Non su AS400 che non uso )
    vado a testare la query direttamente sul server,

    Quando funziona sul server ne incollo il testo ( identicamente cosi come è )
    nella PassTrought di Access e fila via come l'olio


    .

  3. #3
    LUX400 è semplicemente il driver ODBC che fa la connessione verso AS400..

    Quindi da come dici sembra che la sintassi sia OK e che ci sia qualche gabola di mezzo che non mi fa fare l'update.

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Molto ( ma Moltissimo ) a sensazione direi che il problema potrebbe stare:
    - o nella stringa di connessione
    - oppure nelle autorizzazioni di scrittura su AS400
    tenderei per le autorizzazioni perchè la SELECT ci dici che funziona ....


    una mia stringa funzionante verso SQLServer è questa
    ODBC;DRIVER=SQL Server;SERVER=SERD;UID=sa;PWD=xxx;APP=Microsoft Office 2013;DATABASE=Zzzz


    Io procederei cosi:

    -Creo un nuovo dsn dal pannello di controllo con la sua procedura quidata
    -creo una tabella collegata con quel dsn
    -Verifico che la tabella funzioni in lettura e scrittura
    -Visualizzo gli oggetti nascosti e di sistema di Access
    -Apro la tabella di sistema MSysObjects
    -al campo connection leggo la stringa della tua tabella collegata
    -QUELLA è la stringa che devi mettere nella query PassTrought


    Forse stiamo sconfinando in Windows e Software? chiedo perdono al Mod

    .

  5. #5
    purtroppo non funziona.
    La stringa che leggo nella tabella che citi è identica a quella che già sto utilizzando.

    Non capisco proprio se il problema è legato ad AS400, al driver o all'SQL che ho scritto in access.

    Dal messaggio sembra che non riesca a trovare la tabella ma se tento di leggere i dati o cancellarli funziona.

    Mah... lancerò a mano la query per un paio di mesi.. poi passo a SQLServer e li non ci son problemi.

    Grazie per l'aiuto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.