vkulakov писал(а):
Inspire писал(а):
За место xxx что надо подставить?
Можете setup.get("xx.db.driver") на строки со своими значениями заменить. А вообще, если у вас биллинг работает, значит он подключился к базе и значит, что дополнительные библиотеки не нужны. В общем случае свои библиотеки нужно класть в BGBillingServer/lib/ext или app.
Попробуйте в своём коде подключится к базе биллинга с теми параметрами, которые указаны в BGBillingServer/data/data.properties. Если всё заведётся, значит проблема с доступом к удалённой базе. (В моём предыдущем примере можете убрать "xxx." и код сразу подхватит эти параметры.)
Вариант 1:
Подставил настройки базы биллинга, все заработало таким вариантом
Код:
try{
String DB_URL = "jdbc:mysql://адрес/bgbilling";
String USER = "user";
String PASS = "pass";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(DB_URL,USER,PASS);
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM contract limit 1";
ResultSet rs = stmt.executeQuery(sql);
rs.next();
String first = rs.getString("title");
print("First: " + first);
rs.close();
stmt.close();
conn.close();
} catch(Exception e){
print(e.getMessage());
e.printStackTrace();
}
Причем, когда подставил адрес другой базы, выдало ошибку :
Communications link failure
Last packet sent to the server was 0 ms ago.
Вариант 2:
Код:
try{
String user = setup.get("db.user");
String pswd = setup.get("db.pswd");
String dbUrl = setup.get("db.url");
String dbDriver = setup.get("db.driver");
DriverManager.registerDriver((Driver)Class.forName(dbDriver).newInstance());
neoConn = DriverManager.getConnection(dbUrl, user, pswd);
Statement stmt = neoConn.createStatement();
String sql = "SELECT * FROM contract limit 1";
ResultSet rs = stmt.executeQuery(sql);
rs.next();
String first = rs.getString("title");
print("First: " + first);
//STEP 6: Clean-up environment
rs.close();
stmt.close();
conn.close();
} catch(Exception e){
print(e.getMessage());
e.printStackTrace();
}
Выдает ошибку Typed variable declaration : Error in method invocation: Method get( java.lang.String ) not found in class'ru.bitel.bgbilling.server.util.Setup' : at Line: 21 : in file: Function [id:7; title:create_ticket_task] : setup .get ( "db.user" ).
Причем пробовал и просто "user" и "db.user" и логин базы за место user подаставлять.
Проблема в том, что база биллинга на одном сервере, а база редмайна, куда мне надо подконектиться, на другом =/ Есть ли какой-то выход из этой ситуации?