-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathFirebirdConnection.java
71 lines (63 loc) · 2.56 KB
/
FirebirdConnection.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package database;
import java.io.File;
import java.sql.Connection;
/** êëàññ, êîòîðûé âîçâðàùàåò ñîåäèåíèå ñ áàçîé äàííûõ íà îñíîâàíèè ðàñøèðåíèÿ */
public class FirebirdConnection implements IConnector{
/** UserName*/
private String userName="SYSDBA";
/** password*/
private String password="masterkey";
/** òåêóùèé Pool ñîåäèíåíèé ñ áàçîé äàííûõ */
private ConnectorPool connectorPool;
/** èìÿ äðàéâåðà JDBC Firebird */
private static String driverName = "org.firebirdsql.jdbc.FBDriver";
/** êîííåêòîð ê áàçå äàííûõ Firebird,
* @param url - ïîëíûé ïóòü ê áàçå äàííûõ
* @throws Exception - åñëè íå óäàëîñü ñîçäàòü ñîåäèíåíèå ñ áàçîé äàííûõ
*/
public FirebirdConnection(String url) throws Exception {
this.connectorPool=new ConnectorPool(driverName, this.getUrlFromFile(null, url, null), userName, password);
}
/** êîííåêòîð ê áàçå äàííûõ Firebird,
* @param url - ïîëíûé ïóòü ê áàçå äàííûõ
* @param userName - èìÿ ïîëüçîâàòåëÿ
* @param userPassword - ïàðîëü ïîëüçîâàòåëÿ
* @throws Exception - åñëè íå óäàëîñü ñîçäàòü ñîåäèíåíèå ñ áàçîé äàííûõ
*/
public FirebirdConnection(String url, String userName, String userPassword) throws Exception {
this.userName=userName;
this.password=userPassword;
this.connectorPool=new ConnectorPool(driverName, this.getUrlFromFile(null, url, null), userName, userPassword);
}
public FirebirdConnection(File file) throws Exception{
this.connectorPool=new ConnectorPool(driverName, this.getUrlFromFile(null, file.getAbsolutePath().replace('\\', '/'),null), userName, password);
}
/** ïîëó÷èòü èç ôàéëà ïîëíûé URL äëÿ áàçû äàííûõ Firebird */
private String getUrlFromFile(String path_to_server, String path,Integer port) {
String database_protocol="jdbc:firebirdsql://";
String database_dialect="?sql_dialect=3";
String database_server=null;
String database_port=null;
if((path_to_server==null)||(path_to_server.equals(""))){
database_server="localhost";
}else{
database_server=path_to_server;
}
if(port==null){
database_port="3050";
}else{
database_port=Integer.toString(port);
}
String returnValue=database_protocol+database_server+":"+database_port+"/"+path+database_dialect;
// System.out.println(returnValue);
return returnValue;
}
@Override
public Connection getConnection() {
return this.connectorPool.getConnection();
}
@Override
public Connection getConnection(String user, String password) {
return this.connectorPool.getConnection(user,password);
}
}