sql >> データベース >  >> RDS >> Mysql

mysqlDataSourceを使用したjavax.naming.NoInitialContextException

    これは、MysqlDataSourceが原因です。 javax.naming.spi.InitialContextFactoryを実装していません インターフェース。

    コンテナを使用していない場合は、rmiレジストリを使用できます。次のようなもの:

    try{
      startRegistry();
      InitialContext context = createContext();
      MysqlDataSource mysqlDs = new MysqlDataSource();
      context.rebind("jdbc/wczasy", mysqlDs);
    } catch (Exception e) {
      System.out.println("Error while binding: " + e.getMessage());
      e.printStackTrace();
    }
    
    
    private static void startRegistry() throws RemoteException {
      LocateRegistry.createRegistry(1099);
      System.out.println("RMI registry ready.");
    }
    
    private static InitialContext createContext() throws NamingException {
      Properties env = new Properties();
      env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.rmi.registry.RegistryContextFactory");
      env.put(Context.PROVIDER_URL, "rmi://localhost:1099");
      InitialContext context = new InitialContext(env);
      return context;
    }
    



    1. PostgreSQLのパラメータ化されたOrderBy/ Limit in table function

    2. SQLクエリの問題

    3. Access2016で分割データベースを暗号化する方法

    4. テーブルがすでに存在する場合、CREATE TABLE IFNOTEXISTSが失敗する