簡體   English   中英

Java應用程序無法在Linux環境中登錄

[英]java application fails to login in linux environment

我寫了一個cron,它應該建立數據庫連接並進行一些更新和刪除操作。 cron使用批處理文件在Windows中運行良好,但失敗:

Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: org.hibernate.exception.JDBCConnectionException: Error calling
Driver#connect
        at
org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:122)
        at
org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:140)
        at
org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:58)
        at
org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:75)
        at
org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106)
        at
org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
        at
org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
        at
org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
        at
org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
        at
org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
        at
org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
        at
org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
        at
org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
        at
org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
        at in.AuditCronProcessor.main(AuditCronProcessor.java:36)
        ... 5 more
Caused by: java.sql.SQLException: Access denied for user 'user01'@'10.65.28.69'
(using password: YES)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)

在代碼中,活動完成后,我正在使用StandardServiceRegistry關閉操作:

 String url="jdbc:mysql://"+arg[0]+":"+arg[1]+"/updatedb";
 AnnotationConfiguration config = new AnnotationConfiguration().configure();

 config.setProperty("hibernate.connection.url", url);
 config.setProperty("hibernate.connection.username", arg[2]);
 config.setProperty("hibernate.connection.password", arg[3].trim());

 StandardServiceRegistry registry = new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build();

 SessionFactory sessionFactory = config.buildSessionFactory(registry);

我正在使用.sh文件運行上述cron。 使用命令行可以正常運行,但是使用.sh文件運行時會遇到錯誤。 任何線索:(

問候賈揚德拉

您必須在MySQL命令解釋器上運行此命令。

GRANT ALL PRIVILEGES ON updatedb.* TO 'user01'@'%' WITH GRANT OPTION;

這將授權user01從任何主機進行連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM