0
管理コンソールでGlassFishサーバーを構成し、JDBC接続プールとJDBCリソースを追加しました。 GlassFishから管理コンソールにpingを実行すると、succesが動作します。私は、データベースオブジェクトを作成し、挿入メソッドをデータベースクラスから呼び出しています。GlassFishサーバーjdbcがレコードをデータベースに挿入できません
public class Database {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/AC?autoReconnect=true&useSSL=false";
// Database credentials
static final String USER = "XXXXXX";
static final String PASS = "XXXXXXXX";
public void inserting(BigInteger acparam, BigInteger pkcparam, String encoded) {
Connection conn = null;
Statement stmt = null;
try{
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Open a connection
conn = DriverManager.getConnection(DB_URL, USER, PASS);
//STEP 4: Execute a query
stmt = conn.createStatement();
String sql = "INSERT INTO ACCredentials " + "VALUES (" +acparam +"," +pkcparam +"," +"'"+encoded+"'" +")" + "";
stmt.executeUpdate(sql);
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
//finally block used to close resources
try{
if(stmt!=null)
conn.close();
}catch(SQLException se){
}
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
}
}
私の問題は、MySQLデータベースに挿入されたものではありません:
Database database = new Database();
BigInteger acSerial = att.getSerialNumber();
BigInteger pkcSerial = att.getHolder().getSerialNumber();
String AC = Base64.getUrlEncoder().encodeToString(att.getEncoded());
database.inserting(acSerial,pkcSerial,AC);
はここDatabaseクラスから私の挿入方法です。私はGlassFish Serverなしでこの挿入サンプルを試してみました。誰かが問題を知っていますか?
はあなたの問題を検討していますが、ハードコーディング資格情報をCOMMENT-オフトピックは非常に悪い考えです:私は、データソースの一部を忘れてしまいました。 JNDIリソースを作成してサーバーから描画してください(正直なところ、jdbcリソースよりも簡単です) –
最後のコメントを削除しました。コメントはどうすればよいですか?ACCredntialsには3つの列がありますか? –
これは本当ですが、ACCredentialsには3つの列があります。 – Hakikat41