-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathDBHelper.java
More file actions
106 lines (95 loc) · 3.45 KB
/
DBHelper.java
File metadata and controls
106 lines (95 loc) · 3.45 KB
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package org.utplsql.api;
import oracle.jdbc.OracleTypes;
import org.utplsql.api.db.DatabaseInformation;
import org.utplsql.api.db.DefaultDatabaseInformation;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Types;
/**
* Database utility functions.
*/
public final class DBHelper {
private DBHelper() {
}
/**
* Return a new sys_guid from database.
*
* @param conn the connection
* @return the new id string
* @throws SQLException any database error
*/
public static String newSysGuid(Connection conn) throws SQLException {
try (CallableStatement callableStatement = conn.prepareCall("BEGIN ? := sys_guid(); END;")) {
callableStatement.registerOutParameter(1, OracleTypes.RAW);
callableStatement.executeUpdate();
return callableStatement.getString(1);
}
}
/**
* Return the current schema name.
* Deprecated. Use DatabaseInformation-Interface instead.
*
* @param conn the connection
* @return the schema name
* @throws SQLException any database error
*/
@Deprecated
public static String getCurrentSchema(Connection conn) throws SQLException {
try (CallableStatement callableStatement = conn.prepareCall("BEGIN ? := sys_context('userenv', 'current_schema'); END;")) {
callableStatement.registerOutParameter(1, Types.VARCHAR);
callableStatement.executeUpdate();
return callableStatement.getString(1);
}
}
/**
* Returns the Frameworks version string of the given connection
* Deprecated. Use DatabaseInformation-Interface instead.
*
* @param conn Active db connection
* @return Version-string of the utPLSQL framework
* @throws SQLException any database error
*/
@Deprecated
public static Version getDatabaseFrameworkVersion(Connection conn) throws SQLException {
DatabaseInformation databaseInformation = new DefaultDatabaseInformation();
return databaseInformation.getUtPlsqlFrameworkVersion(conn);
}
/**
* Returns the Oracle database Version from a given connection object
* Deprecated. Use DatabaseInformation-Interface instead.
*
* @param conn Connection-Object
* @return Returns version-string of the Oracle Database product component
* @throws SQLException any database error
*/
@Deprecated
public static String getOracleDatabaseVersion(Connection conn) throws SQLException {
DatabaseInformation databaseInformation = new DefaultDatabaseInformation();
return databaseInformation.getOracleVersion(conn);
}
/**
* Enable the dbms_output buffer with unlimited size.
*
* @param conn the connection
*/
public static void enableDBMSOutput(Connection conn) {
try (CallableStatement call = conn.prepareCall("BEGIN dbms_output.enable(NULL); END;")) {
call.execute();
} catch (SQLException e) {
System.out.println("Failed to enable dbms_output.");
}
}
/**
* Disable the dbms_output buffer.
*
* @param conn the connection
*/
public static void disableDBMSOutput(Connection conn) {
try (CallableStatement call = conn.prepareCall("BEGIN dbms_output.disable(); END;")) {
call.execute();
} catch (SQLException e) {
System.out.println("Failed to disable dbms_output.");
}
}
}