【问题标题】:how to load mysql jar in shell script and connect to MYSQL DB如何在 shell 脚本中加载 mysql jar 并连接到 MYSQL DB
【发布时间】:2013-07-19 12:07:59
【问题描述】:

我编写了一个小 shell 脚本来调用一个 java 类,该类又调用 mysql db 并返回一些结果集。

我的 Shell 脚本:

CP="."
CP=$CP:/home/lib/mysql-connector-java-5.1.12-bin.jar
export CP
java -cp $CP com.util.Hello  

而我的java代码如下,

Hello.Java:

public static void main(String[] str) {
 Connection conn = null;
          try
          {
              String userName = "root";
              String password = "root";
              String url = "jdbc:mysql://localhost:3306/test";
              Class.forName ("com.mysql.jdbc.Driver").newInstance ();
              conn = DriverManager.getConnection (url, userName, password);
              System.out.println ("Database connection established");

                Statement s = conn.createStatement ();
                s.executeQuery ("select * from users");
                ResultSet rs = s.getResultSet ();
                int count = 0;
                while (rs.next ())
                {                       
                    System.out.println (count + " rows were retrieved");
                    count++;    
                }
                    rs.close ();
                    s.close ();

        }
        catch (Exception e) {
             System.err.println ("Cannot connect to database server")
        }

}

当我从 linux 服务器执行 shell 脚本时,出现以下错误,

无法连接到我在 java 类中打印的数据库服务器

System.err.println ("Cannot connect to database server")

可以帮助我如何从 shell 脚本加载 mysql jar 吗?

以及如何在运行我的 java 类时使用它?

如果我从 war 文件运行这个类,它就可以工作了。

提前致谢。

【问题讨论】:

  • 如果您没有捕获然后丢弃异常,那么判断问题所在会容易得多。做这个。删除 try/catch 块,在主方法声明中添加“抛出异常”,再次运行,然后发布整个堆栈跟踪(错误消息)。
  • 同时删除 'newInstance ()' 部分。您只需要使用以下方法加载类: Class.forName ("com.mysql.jdbc.Driver");

标签: java mysql linux shell


【解决方案1】:

你需要但 mysql-connector-java-5.1.12-bin.jar 在你的 /jre/lib/ext 文件夹中的 java jre 文件夹中,我认为这是运行 java 数据库程序的简单方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    相关资源
    最近更新 更多