2016-03-29 10 views
-1

Tamamen noob! Daha önce tek bir Mysql sunucusu için yazılmış 2 tane veritabanı içeren otomatik test çerçevem ​​var. Ve DB bağlantısı2 Mysql sunucusuna nasıl bağlantı oluşturulur?

gibi görünüyordu, ama şimdi farklı IP'lerde. Lütfen nasıl düzeltileceğini basit bir örnek verin. Teşekkürler.

+2

sorunuzu netleştirmek lütfen? Şu anda diğer IP'lerin burada ne anlama geldiği belli değil. Teşekkürler! – cramopy

+0

Üzerinde 0.0.0.0 testdb_core ve testdb_mail vardı. şimdi 0.0.0.0 testdb_core ve 1.1.1.1 testdb_mail gibi görünüyor Ben her iki DB için sorgu var. Şimdi açık mı? –

cevap

0

Java DB bağlantısı yalnızca bir nesnedir. 2 Mysql Sunucusu için 2 bağlantı Nesnesi oluşturabilirsiniz.

GetConnection() yöntemi oluşturuldu. Bu yüzden bağlantı parametrelerini kabul etmek için yöntemi değiştirmeniz yeterlidir. örneğin

:

Connection db1 = getConnection(server_ip, db, username, password); 
Connection db2 = getConnection(server_ip2, db, username2, password2); 
public static Connection getConnection(String ip, String db, String user, String pass) { 
Connection conn = null; 
    try { 
     Class.forName("com.mysql.jdbc.Driver").newInstance(); 
     conn = DriverManager.getConnection("jdbc:mysql://"+ip+"/"+db+"?" + 
           "user="+user+"&password="+pass); 
    } catch (ClassNotFoundException | SQLException e) { 
     e.printStackTrace(); 
    } 
} 
    return conn; 
} 
+0

Bu örnek, aynı anda 2 bağlantı için doğru mu? Hem DB'den katılan sorguyu yürütmesi gerekiyor. Örneğinizden anlaşıldığı gibi getConnection ("jdbc: mysql: //" + ip + "/" + db + "?" + "kullanıcı =" + kullanıcı + "& password =" + pass); db1 için parametrs ayarlayın. Db2 için paramları nereye koymalıyım? sadece benzer yarat? –