Günaydın, Benim vertx uygulaması ile odbc kullanarak Sql veritabanına bağlanmak istiyorum ama kodumu çalıştırdığımda garip bir hata görüntülenir: java .sql.SQLSyntaxErrorException: kullanıcı ayrıcalığı yoksun veya nesne bulunamadı: ACHATVertx: java.sql.SQLSyntaxErrorException: kullanıcı ayrıcalık veya nesne bulunamadı: ACHAT
ben silmeye çalıştı kapatma ama aynı hatayı İşte
susturur benim kodudur:
public void start(Future<Void> startFuture){
String file="/Test1";
Router router = Router.router(vertx);
router.route(file).handler(routingContext -> {
HttpServerResponse response = routingContext.response();
response.setChunked(true);
JsonObject config = new JsonObject()
.put("url", "jdbc:hsqldb:mem:odbcName?shutdown=true")
.put("user", "sa")
.put("password", "****")
.put("driver_class", "org.hsqldb.jdbcDriver")
.put("max_pool_size", 30);
JDBCClient client = JDBCClient.createShared(vertx, config);
client.getConnection(res -> {
if (res.succeeded()) {
SQLConnection connection = res.result();
connection.query("select id from dbo.achat", res2 -> {
if (res2.succeeded()) {
System.out.println("oki");
}
else { System.out.println(res2.cause().toString()); }
});
} else {
System.out.println("Cnx failed !!");
}
});
routingContext.vertx().setTimer(8000, tid -> routingContext.response().end());
});
ve sunucusu için :
vertx.createHttpServer()
.requestHandler(router::accept)
.listen(8085, "localhost", res -> {
if (res.succeeded()){
startFuture.complete();
}
else
startFuture.fail(res.cause());
});
Cevabınız için çok teşekkür ederim, ama yine de biraz belirsiz, sadece benim veritabanı adımı kullanarak sorunu çözmemelidir. Ve benim Achat tablosum için, Vertx'in onu bağlantıdan okuyabileceğini varsayalım. (Bunu zaten sql veritabanımda oluşturdum). Saygılar. – zackzulg
Gerçek veritabanı adını ve bağlantı türünü öğrenin ve bağlantı için bu bilgileri kullanın. – fredt
Ben yapılandırmayı değiştirdiğinizde bana hata veriyor: .put ("url", "jdbc: hsqldb: url: // localhost; ONP; user = sa; parola = sa;") 2016-04-12T13 : 14: 22.391 + 0100 SEVERE veritabanını yeniden açamadı org.hsqldb.HsqlException: Veritabanı kilidi edinme hatası: lockFile: [email protected] [file = null, exists = false, locked = false, valid = false ,] yöntemi: setPath nedeni: java.io.IOException: La sözdizimi du nom de fichier, de répertoire ou de birim değeri – zackzulg