问题二查询db2 sqlserver无法打印输出

时间:2019-05-23 12:19:22

标签: jdbc

这是正确的示例,不起作用:

如果LANGUAGE列与LANGUAGE COLUMN相同,并且NLS_CLASS_NAME列与KEYWORD COLUMN相同 鉴于它们是正确的,如果您注意到该语言字符串,则将其转换为小写字母,然后将其切成“ en”,因为它首先是ENG

您必须打印语言列表,关键字为翻译 我注意到启动需要很长时间,然后连续打印但打印不正确,因为它不会在for循环中打印转换。 你能帮我吗?

我注意到启动需要很长时间,然后连续打印但打印不正确,因为它没有在for循环中打印转换。 你能帮我吗?

// Db2中的raduzione SqlServer

 public void getTraduzione() throws Exception {
    List<DizioPt> listDizio = new ArrayList<DizioPt>();
    List<ClassHdrNls> listHdr = new ArrayList<ClassHdrNls>();
    String className = "";
    String language = "";
    String nlsClassName = "";
    String lingua = "";
    String keyword = "";
    String traduzione = "";


    Database database = new Database();

    // Db2
    Connection dbConnectionDb2 = null;
    Statement statementDb2 = null;

     // SqlServer
    Connection dbConnectionSqlServer = null;
    Statement statementSqlServer = null;

     // Query Db2
     String queryDb2 = "select * from THERA.CLASS_HDR_NLS WHERE 
     THERA.CLASS_HDR_NLS.LANGUAGE='en'";

      // Query SqlServer
      String querySqlServer = "select * from DIZIOPT WHERE 
      DIZIOPT.LINGUA='ENG'";

        try {
            // Connessione --> SqlServer
            dbConnectionSqlServer = database.getConnectionSqlServer();
            statementSqlServer = dbConnectionSqlServer.createStatement();

            // Connessione -->Db2
            dbConnectionDb2 = database.getConnectionDb2();
            statementDb2 = dbConnectionDb2.createStatement();

            // Risultato SqlServer
            ResultSet rsSqlServer = statementSqlServer.executeQuery(querySqlServer);

            // Risultato Db2
            ResultSet rsDb2 = statementDb2.executeQuery(queryDb2);

            while (rsSqlServer.next() && rsDb2.next()) {

                ClassHdrNls classHdrNls = new ClassHdrNls();

                className = rsDb2.getString("CLASS_NAME");
                classHdrNls.setClassName(className);
                language = rsDb2.getString("LANGUAGE");
                classHdrNls.setLanguage(language);
                nlsClassName = rsDb2.getString("NLS_CLASS_NAME");
                classHdrNls.setNlsClassName(nlsClassName);
                listHdr.add(classHdrNls);

                DizioPt diziopt = new DizioPt();

                lingua = rsSqlServer.getString("LINGUA");
                diziopt.setLingua(lingua);
                keyword = rsSqlServer.getString("KEYWORD");
                diziopt.setKeyword(keyword);
                traduzione = rsSqlServer.getString("TRADUZIONE");
                diziopt.setTraduzione(traduzione);
                listDizio.add(diziopt);

                for (int i = 0; i < listHdr.size(); i++) {
                    for (int j = 0; j < listDizio.size(); j++) {

                        if (listHdr.get(i).getNlsClassName().equalsIgnoreCase(listDizio.get(j).getKeyword())
                                && listHdr.get(i).getLanguage()
                                        .equalsIgnoreCase(listDizio.get(j).getLingua().toLowerCase().substring(0, 2))) {

                            System.out.println("Class name: " + listHdr.get(i).getClassName());
                            System.out.println("Lingua: " + listHdr.get(i).getLanguage());
                            System.out.println("Testo: " + listHdr.get(i).getNlsClassName());
                            System.out.println("Traduzione: " + listDizio.get(j).getTraduzione());
                        }

                    }
                }

            }

        } catch (SQLException e) {

            System.out.println(e.getMessage());

        } finally {

            if (statementDb2 != null && statementSqlServer != null) {
                statementDb2.close();
                statementSqlServer.close();
            }

            if (dbConnectionDb2 != null && dbConnectionSqlServer != null) {
                dbConnectionDb2.close();
                dbConnectionSqlServer.close();
            }

        }

    }

0 个答案:

没有答案