我运行.jar时无法连接到我的数据库,但如果我在NetBeans中运行我的项目,我可以这样做。我正在使用JDBC-ODBC Bridge进行连接。这是我用于连接的功能。
public Statement connection(Statement st){
try {
// connection avec la base de donnée DataBase.
// On charge le driver ODBC
Properties props = new Properties();
// pour pouvoir afficher les accents et les caractères spéciaux!!
props.put ("charSet", "ISO-8859-15");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
cnx = DriverManager.getConnection("jdbc:odbc:DataBase", props);
st=cnx.createStatement();
//JOptionPane.showMessageDialog(null,"connection ouverte avec succès");
}catch(Exception e)
{
System.out.println(e.getLocalizedMessage());
return st;
}
return st;
}
示例图片:
答案 0 :(得分:0)
当Java应用程序作为.jar文件分发给其他用户时,我们可能无法控制运行它的Java运行时环境(JRE)。如果应用程序对JRE版本有特定要求,那么它应该明确检查版本。
例如,使用JDBC-ODBC Bridge的应用程序必须在Java 7或更早版本下运行,因为该组件已从Java 8中删除。因此,应用程序代码应该执行以下操作:
int javaVersion = Integer.valueOf(
System.getProperty("java.runtime.version").split("\\.")[1]);
if (javaVersion > 7) {
System.out.printf(
"This application is running under Java %d. " +
"Java 7 or earlier is required.%n",
javaVersion);
System.exit(1);
}
java.com现在默认分发Java 8。大多数访问该网站并单击方便的“免费Java下载”按钮的用户几乎肯定会使用Java 8(或更新版本)。如果应用程序没有检查Java版本并轻率地尝试使用JDBC-ODBC Bridge,那么它将崩溃。
通过上述检查,用户将看到更有帮助的消息
C:\__tmp>java -jar JdbcOdbcTest.jar
This application is running under Java 8. Java 7 or earlier is required.
如果他们使用JRE for Java 7或更早版本运行它,它将起作用:
C:\__tmp>"C:\Program Files\Java\jre6\bin\java" -jar JdbcOdbcTest.jar
Welcome to our app!