免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1462 | 回复: 3
打印 上一主题 下一主题

求助一个非常郁闷的问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-12 14:19 |只看该作者 |倒序浏览
我写了一个连接mysql数据库的程序:
/*
* Created on 2005-4-10
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.by.cngp;

import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.PreparedStatement;;
/**
* @author bin
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class test {
        public static void main(String[] args){
                String tablename;
                Connection sqlConn=null;
                PreparedStatement stmt=null;
                LogApp logapp = new LogApp();
             try {
                     Class.forName("com.mysql.jdbc.Driver".newInstance();
                      sqlConn = DriverManager.getConnection(
                   "jdbc:mysql://localhost/phs?&useUnicode=true&ampcharacterEncoding=GBK","usr","!!^";
               java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyyMMddHHmmsss";
               java.util.Date rightNow = new java.util.Date();
               String now = sdf.format(rightNow);
               System.out.println(now);
               tablename="tbrcvlog"+Integer.toString(rightNow.getMonth()+1);
             
                 stmt = sqlConn.prepareStatement("insert into tbrcv(msgid,isreport,msgformat,recvtime,srctermid,desttermid,msglength,msgcontent,ProtocolID_Parameter,Protocol_Length,Protocol_value,flag) values(?,?,?,?,?,?,?,?,?,?,?,?)";
                 stmt.setString(1,"0123456798";
                 stmt.setString(2,"1";
                 stmt.setString(3,"15";
                 stmt.setString(4,now);
                 stmt.setString(5,"106010180001023";
                 stmt.setString(6,"97171";
                 stmt.setInt(7,234);
                 stmt.setString(8,new String("你好啊噢测试哦".getBytes("GB2312","ISO8859-1"));
                 stmt.setDouble(9,2);
                 stmt.setDouble(10,3);
                 stmt.setInt(11,4);
                 stmt.setString(12,"N");
                
                 stmt.executeUpdate();
                 stmt = sqlConn.prepareStatement("insert into tbrcvlog(msgid,isreport,msgformat,recvtime,srctermid,desttermid,msglength,msgcontent,ProtocolID_Parameter,Protocol_Length,Protocol_value,flag) values(?,?,?,?,?,?,?,?,?,?,?,?)");
                     stmt.setString(1,"0123456798");
                 stmt.setString(2,"1");
                 stmt.setString(3,"15");
                 stmt.setString(4,now);
                 stmt.setString(5,"106010180001023");
                 stmt.setString(6,"97171");
                 stmt.setInt(7,234);
                 stmt.setString(8,new String("你好啊噢测试哦".getBytes("GB2312"),"ISO8859-1"));
                 stmt.setDouble(9,2.0);
                 stmt.setDouble(10,3);
                 stmt.setInt(11,4);
                 stmt.setString(12,"N");
                 stmt.executeUpdate();
               }catch(SQLException e){
                         //display SQL specific exception information
                         logapp.log("********************");
                         logapp.log("SQLException in mainL"+e.getMessage());
                         logapp.log("**SQLState:"+e.getSQLState());
                         logapp.log("**SQL Error Code:"+e.getErrorCode());
                         logapp.log("********************");
                         e.printStackTrace();                        
                 }catch(Exception e){
                         LogApp.log("Exception in main:"+e.getMessage());
                         e.printStackTrace();
                    }finally{
                         try{
                                 if(sqlConn!=null)
                                         sqlConn.close();
                         }catch(SQLException e){
                                 e.printStackTrace();
                         }
                 }
        }
}

这个程序在我本机上执行是没有问题的,我本机上装的是jdk1.4,但我把这个程序传到服务器上执行,就出这个错误:
bash-2.04$ sh java_test.sh
java_test.sh: !#/bin/sh: No such file or directory
Note: com/by/cngp/test.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/Savepoint
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:26
        at java.sql.DriverManager.getConnection(DriverManager.java:517)
        at java.sql.DriverManager.getConnection(DriverManager.java:199)
        at com.by.cngp.test.main(test.java:27)
说我没有那个文件,这个文件在jdk1.4里有,1.3里没有。如果我用这个命令:
java -classpath .:../lib/log4j-1.2.8.jar:../lib/mysqldriver.jar:../lib/lib_1.4.2_03/rt.jar: com/by/cngp/test
则服务器出现这个错误:
bash-2.04$ java -classpath .:../lib/log4j-1.2.8.jar:../lib/mysqldriver.jar:../lib/lib_1.4.2_03/rt.jar: com/by/cngp/test
java.sql.SQLException: Cannot load connection class because of underlying exception: 'java.lang.SecurityException: Prohibited package name: java.sql'.
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:277)
        at java.sql.DriverManager.getConnection(DriverManager.java:517)
        at java.sql.DriverManager.getConnection(DriverManager.java:199)
        at com.by.cngp.test.main(test.java:27)
现在服务器的环境不能改,要保持jdk1.3,而我又想让我的程序运行,我应该怎么办呢?请教高手!!!     

论坛徽章:
0
2 [报告]
发表于 2005-04-12 14:39 |只看该作者

求助一个非常郁闷的问题?

老大们,是不是写的太长了?

论坛徽章:
0
3 [报告]
发表于 2005-04-12 15:41 |只看该作者

求助一个非常郁闷的问题?

MySQL Connector/J supports Java-2 JVMs, including JDK-1.2.x, JDK-1.3.x, JDK-1.4.x and JDK-1.5.x, and requires JDK-1.4.x or newer to compile (but not run). MySQL Connector/J does not support JDK-1.1.x or JDK-1.0.x

Because of the implementation of java.sql.Savepoint, Connector/J 3.1.0 and newer will not run on JDKs older than 1.4 unless the class verifier is turned off (-Xverify:none), as the class verifier will try to load the class definition for java.sql.Savepoint even though it is not accessed by the driver unless you actually use savepoint functionality.解决了,人家网站上说了不支持jdk1.4

论坛徽章:
0
4 [报告]
发表于 2005-04-13 05:19 |只看该作者

求助一个非常郁闷的问题?

你的服务器上有没有 /bin/sh ? 如果没有,可以创建一个链接文件到bourn shell或者bash。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP