0

私の問題は、Java アプリケーションからデータにアクセスする方法がわからないことです。私は netbeans 6.9.1 を使用しており、jdbc:as400://DBase を使用して AS400 との接続を既に作成しています... ストアド プロシージャを作成するか、Java アプリケーションからそれらを使用する Web サービスを作成しようとしましたが、できませんでした。また、データベースからエンティティ クラスを作成しようとしましたが、AS400 データベースには主キーがありません。Java アプリケーションでこのデータベースを使用する方法を教えてください。どうもありがとうございます!!!

4

1 に答える 1

0

こんにちは @hetch AS/400 データベース上に WEB サービスを作成し、WSDL ファイルを公開するための手順です。:)

  1. データソースを作成する

    public DataSource getDataSource(String bd) throws Exception {
         DataSource ds = null;
         try {
            if(bd.trim().equals("as400")) {
                 ds = (DataSource) ic.lookup("jdbc/your_name_jndi");
            }
            return ds;
         } catch(NamingException n) {
                throw new Exception("Err getDataSource NamingException - " + n.getMessage());
         }
    }
    
  2. Bean を作成する

  3. データベース UPDATEへの接続を作成します --このクラスは、データベースに接続できます(ORACLE、MYSQL、SQL-SERVERなど)--

    public class DataBases {
         public static Connection con = null;
         static public ServiceLocator locator;
    
         public DataBases() throws Exception {
                super();
         }
    
         public Connection getConexionAS400() {
               try {
                  con = locator.getDataSource("AS/400").getConnection();
                  System.out.println("CONECCTED AS/400 DB. " + con);
               } catch(Exception e) {
                      e.printStackTrace();
               }
               return con;
         }
    }
    
    
     public final class ServiceLocator {
          private static ServiceLocator pcf;
          private static InitialContext ic;
    
          /**.
           * Context initialize.
           * @throws Exception
           */
           private ServiceLocator() throws Exception {
                 try {
                    ic = new InitialContext();
                 } catch (NamingException n) {
                        throw new Exception(
                        "Err InitialContext (ServiceLocator) NamingException - "
                        + n.getMessage());
                 }
            }
    
            /**.
             * Generate instance servicelocator
             * @return service locator
             * @throws Exception
             */
             public static ServiceLocator getInstance() throws Exception {
                  if(pcf == null) {
                        synchronized (ServiceLocator.class) {           
                                pcf = new ServiceLocator();              
                        }
                  }
                  return pcf;
             }
    
             /**.
              *
              * @param dsName Nombre del jdbc
              * @return DataSource
              * @throws Exception
              */
              public DataSource getDataSource(String bd) throws Exception {
                    DataSource ds = null;
                    try {   
                    if(bd.trim().equals("as400")) {
                             ds = (DataSource) ic.lookup("jdbc/tiempoaire1");
                        }
                        return ds;
                     } catch(NamingException n) {
                            throw new Exception(
                            "Err getDataSource (ServiceLocator) NamingException - "
                            + n.getMessage());
                     }
              }
      }
    
  4. データベースに CRUD するためのクラスを作成します。このステップでは、CRUD の ID テーブルが機能することがわかります。

それでおしまい !!!

お役に立てれば幸いです。:)

于 2012-08-01T23:54:02.483 に答える