Le scénario est similaire. L'utilisateur spécifiera un nom de table de base de données et le système récupérera et affichera toutes les données stockées dans la table de base de données informix spécifiée.Sélection de données de colonne BigSerial à partir d'Informix Tableau
Class.forName("com.informix.jdbc.IfxDriver");
Connection conn = DriverManager.getConnection(connUrl)
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from an_ifx_table");
La table an_ifx est un nom de table spécifié par l'utilisateur. Le problème est qu'il existe une colonne définie avec le type de données BigSerial. Ainsi, le code sera toujours lancer une exception:
java.sql.SQLException: bigserial
at com.informix.jdbc.IfxSqli.a(IfxSqli.java:3204)
at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3518)
at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2353)
at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2269)
at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1428)
at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1401)
at com.informix.jdbc.IfxResultSet.a(IfxResultSet.java:204)
Comme quelle table le système récupère les données de va être spécifiée par l'utilisateur, nous ne pouvons pas ignorer ou jeter la colonne avec le type de données bigserial.
Une suggestion pour gérer ce scénario?
Ajouter la version informations de votre système d'exploitation et pilote JDBC. –