1

我每天使用 crontab 自动运行一些程序。从 7 天前开始,每当我自动运行一个程序(每天凌晨 3 点)将一些字符串(包含数字和英文和非英文字母)插入到数据库中的表中时,只有数字和英文字符(ASCII 字符)插入到数据库,但在那之前它工作正常。但是当我自己运行程序时,其他字符也会插入到表格中。

另一方面,我在凌晨 2 点用 crontab 运行另一个程序,它也将一些字符串插入到同一个数据库(但不同的表),但它工作正常,所有字符(英语和非英语)都插入到数据库中。

服务器操作系统是 centOS 6.3 最小,我使用的是 MySql 数据库 5.1.61,我的数据库排序规则是:utf8-utf8_general_csi。在这两个程序中,我都使用 java 及其 jdbc 库。

我只是怀疑 crontab。我会感谢任何帮助。

编辑:
这是我制作的 crontab:

0 2 * * * java -jar file.jar arg1 arg2 arg3
4 15 * * * java -jar file3.jar arg1 arg2 args3
0 3 * * * java -jar file2.jar arg1 arg2 arg3

.在 2 点 3 点运行的程序具有相同的功能。但是在 3(file2.jar) 运行时,不会插入非英文字符。

这是我插入 DB 的部分代码:

stmt = (Statement) con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE) ;
            stmt.executeUpdate("set character_set_results=utf8"); 
            stmt.executeUpdate("set character_set_filesystem=utf8");
   try
   {
       rs.moveToInsertRow();
       rs.updateString("f1", str1);
       rs.updateString("f2", str2);
       rs.updateFloat("f3", fl1));

       rs.insertRow();

   }
   catch(Exception ex)
   {
   }
4

1 回答 1

0

我无论如何都找不到解决问题的方法,所以我编写了一个运行该应用程序的计划程序,它运行良好!!!

但是我仍然很困惑为什么 crontab 会出现这个问题,或者我所做的那个程序不能正常工作!!!

于 2014-03-11T04:45:01.297 回答