Utilizzate queste soluzioni per risolvere i problemi che potreste incontrare con le connessioni.
IBM Db2 for z/OS: errore nel recupero dell'elenco degli schemi quando si tenta di connettersi a un server Db2 for z/OS
Quando si testa la connessione a un server Db2 for z/OS e la connessione non riesce a recuperare l'elenco degli schemi, è possibile che venga visualizzato il seguente errore:
CDICC7002E: The assets request failed: CDICO2064E: The metadata for the column TABLE_SCHEM could not
be obtained: Sql error: [jcc][10150] [10300][4.28.11] Invalid parameter: Unknown column name
TABLE_SCHEM. ERRORCODE=-4460, SQLSTATE=null
Risoluzione del problema
Sul server Db2 for z/OS, impostare il parametro del sottosistema DESCSTAT su 'No
. Per ulteriori informazioni, vedere DESCRIVERE PER IL CAMPO STATICO (parametro del sottosistema DESCSTAT).
Non è possibile eseguire il codice generato da una funzionalità deprecata per caricare i dati di una connessione Informix
Si riceve un "DatabaseError: Esecuzione fallita su sql: ... unable to rollback" quando si esegue il codice generato per caricare i dati da un database Informix quando si utilizza la funzionalità deprecata e si tenta di interrogare una tabella con un nome maiuscolo.
Causa
Il database Informix è configurato per gli identificatori sensibili alle maiuscole e minuscole ed è necessario aggiornare il codice generato.
Risoluzione del problema
Se è possibile, passare all'utilizzo del codice generato dal Flight service per caricare i dati da una connessione Informix. Se si vuole continuare a usare il codice generato dalla funzionalità deprecata, è necessario modificare il codice generato come segue:
Per Python, aggiungete la proprietà di connessione '
'DELIMIDENT=Y'
alla connessione e circondate l'identificatore maiuscolo con doppi apici (""
). Sostituire le seguenti righe:Informix_connection = jaydebeapi.connect('com.informix.jdbc.IfxDriver', '{}://{}:{}/{}:user={};password={};'.format('jdbc:informix-sqli', Informix_metadata['host'], Informix_metadata['port'], Informix_metadata['database'], Informix_metadata['username'], Informix_metadata['password']), [Informix_metadata['username'], Informix_metadata['password']]) query = 'SELECT * FROM informix.FVT_EMPLOYEE'
Con:
Informix_connection = jaydebeapi.connect('com.informix.jdbc.IfxDriver', '{}://{}:{}/{}:user={};password={};DELIMIDENT=Y;'.format('jdbc:informix-sqli', Informix_metadata['host'], Informix_metadata['port'], Informix_metadata['database'], Informix_metadata['username'], Informix_metadata['password']), [Informix_metadata['username'], Informix_metadata['password']]) query = 'SELECT * FROM informix."FVT_EMPLOYEE"'
Per Spark con Python, sostituire:
data_df_0 = sparkSession.read.format('jdbc') \ .option('url', 'jdbc:informix-sqli://{}:{}/{}'.format(Informix_metadata['host'],Informix_metadata['port'],Informix_metadata['database'])) \ .option('dbtable', 'informix.FVT_EMPLOYEE') \ .option('user', Informix_metadata['username']) \ .option('password', Informix_metadata['password']).load() data_df_0.show(5)
Con:
data_df_0 = sparkSession.read.format('jdbc') \ .option('url', 'jdbc:informix-sqli://{}:{}/{}'.format(Informix_metadata['host'],Informix_metadata['port'],Informix_metadata['database'])) \ .option('dbtable', 'informix."FVT_EMPLOYEE"') \ .option('DELIMIDENT', 'Y') \ .option('user', Informix_metadata['username']) \ .option('password', Informix_metadata['password']).load() data_df_0.show(5)
Per R, aggiungete la proprietà di connessione '
'DELIMIDENT=Y'
alla connessione e circondate tutti i nomi maiuscoli con doppi apici (""
). Sostituire le seguenti righe:paste("jdbc:informix-sqli://", Informix_credentials[][["host"]], ":", Informix_credentials[][["port"]], "/", Informix_credentials[][["database"]], ":user=", Informix_credentials[][["username"]], ";password=", Informix_credentials[][["password"]], ";", sep=""), ... query <- "SELECT * FROM myschema.MY_TABLE"
Con:
paste("jdbc:informix-sqli://", Informix_credentials[][["host"]], ":", Informix_credentials[][["port"]], "/", Informix_credentials[][["database"]], ":user=", Informix_credentials[][["username"]], ";password=", Informix_credentials[][["password"]],";DELIMIDENT=Y", ";", sep=""), ... query <- "SELECT * FROM myschema.\"MY_TABLE\""
Argomento principale: Risoluzione dei problemi in Cloud Pak for Data