public final class Database extends ConnectivityBase implements com.anylogic.engine.internal.Child
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DRIVER_EXCEL_SQLSHEET
Excel driver
|
static java.lang.String |
DRIVER_JDBC_MICROSOFT_SQLSERVER
Microsoft SQL Server driver for Java
External jar-file is needed to use this driver Driver may be downloaded from www.microsoft.com (use search by "SQL Server Driver for JDBC" ) |
static java.lang.String |
DRIVER_JTDS_JDBC
Open-source JTDS-JDBC driver
External jar-file is needed to use this driver Driver may be downloaded from jtds.sourceforge.net (see "Download" section) |
static java.lang.String |
DRIVER_UCANACCESS
Pure Java JDBC driver
|
Constructor and Description |
---|
Database(Presentable owner,
java.lang.String name,
java.lang.String fileName)
Creates new
Database object for interaction with file-based
(Access or Excel) database |
Database(Presentable owner,
java.lang.String name,
java.lang.String fileName,
java.lang.String login,
char[] password)
Creates new
Database object for interaction with file-based
(Access or Excel) database |
Database(Presentable owner,
java.lang.String name,
java.lang.String jdbcDriver,
java.lang.String connectionURL,
java.lang.String login,
char[] password)
Creates new
Database object for interaction with database |
Database(Presentable owner,
java.lang.String name,
java.lang.String sqlJdbcDriver,
java.lang.String host,
java.lang.String databaseName,
java.lang.String login,
char[] password)
Creates new
Database object for interaction with MS SQL Server
database |
Modifier and Type | Method and Description |
---|---|
void |
closeResultSet(ResultSet rs)
Deprecated.
call
ResultSet.close() method instead |
boolean |
connect()
The method connects a data source, specified by constructor parameters.
|
void |
disconnect()
Disconnects currently connected database
This method call has no effect if this Database object is not
connectedIt is strongly recommended that user explicitly commits or rolls back an active transaction (if any has been explicitly opened via Connection.setAutoCommit(boolean) ) prior to calling the this
method. |
java.sql.Connection |
getConnection()
Returns existing
Connection to the database or connects to the
database if not connectedIf any error occurs, throws RuntimeException |
DatabaseDescriptor |
getDbDescriptor() |
java.lang.Integer |
getFieldType(java.lang.String sTableName,
java.lang.String sFieldName)
The methods returns SQL-type of specified field.
|
java.lang.Object |
getMatrix(java.lang.String sqlQuery,
java.lang.String type)
The method executes specified SQL query and returns the produced values
as 2D array of values of specified type.
|
ResultSet |
getQueryResultSet(java.lang.String queryText,
java.lang.String listOfFields,
java.lang.String keyField,
java.lang.String keyFieldValue)
The method returns result set produced by querying data from specified
fields and rows of specified query.
|
ResultSet |
getResultSet(java.lang.String sqlQuery)
The method executes specified SQL query and returns the produced result
as
ResultSet object. |
java.util.Map<java.lang.String,java.lang.String> |
getRow(java.lang.String sqlQuery)
The method executes specified SQL query and returns the produced values.
|
static java.sql.ResultSet |
getSQLResultSet(ResultSet rs) |
static java.sql.Statement |
getSQLStatement(Statement statement)
Returns Java SQL
Statement , backed by given
Statement object |
Statement |
getStatement()
The method creates and returns each time new statement
Please call Statement.close() method after all needed operations
are completed |
ResultSet |
getTableResultSet(java.lang.String tableName,
java.lang.String listOfFields,
java.lang.String keyField,
java.lang.String keyFieldValue)
The method returns result set produced by querying data from specified
fields and rows of specified table.
|
java.lang.String |
getValue(java.lang.String sqlQuery)
The method executes specified SQL query and returns the produced value.
|
boolean |
modify(java.lang.String sqlQuery)
The method executes specified SQL query.
|
void |
releaseStatement(Statement statement)
Deprecated.
call
Statement.close() method instead |
void |
restoreOwner(java.lang.Object owner)
Deprecated.
|
void |
setExcelStreamingMode(DatabaseExcelStreamingMode mode)
Sets excel streaming mode to improve speed while working with large excel files
DatabaseExcelStreamingMode.READ allows to read huge collection of data a bit faster
Reconnects database
|
java.lang.String |
toString()
Returns formatted database connection properties (excluding password
value)
|
destroy, getName
public static final java.lang.String DRIVER_JDBC_MICROSOFT_SQLSERVER
"SQL Server Driver for JDBC"
)public static final java.lang.String DRIVER_JTDS_JDBC
"Download"
section)public static final java.lang.String DRIVER_UCANACCESS
public static final java.lang.String DRIVER_EXCEL_SQLSHEET
public Database(Presentable owner, java.lang.String name, java.lang.String jdbcDriver, java.lang.String connectionURL, java.lang.String login, char[] password)
Database
object for interaction with databaseowner
- this object's owner (agent or experiment)name
- object name (decoration purpose)jdbcDriver
- connectionURL
- login
- password
- the password is copied to internal variable, then given array
is wipedpublic Database(Presentable owner, java.lang.String name, java.lang.String fileName)
Database
object for interaction with file-based
(Access or Excel) databaseowner
- this object's owner (agent or experiment)name
- object name (decoration purpose)fileName
- file name with extension .xls
or
.mdb
public Database(Presentable owner, java.lang.String name, java.lang.String fileName, java.lang.String login, char[] password)
Database
object for interaction with file-based
(Access or Excel) databaseowner
- this object's owner (agent or experiment)name
- object name (decoration purpose)fileName
- file name with extension .xls
or
.mdb
login
- password
- public Database(Presentable owner, java.lang.String name, java.lang.String sqlJdbcDriver, java.lang.String host, java.lang.String databaseName, java.lang.String login, char[] password)
Database
object for interaction with MS SQL Server
databaseowner
- this object's owner (agent or experiment)name
- object name (decoration purpose)sqlJdbcDriver
- one of
#DRIVER_SUN_JDBC_ODBC
DRIVER_JDBC_MICROSOFT_SQLSERVER
DRIVER_JTDS_JDBC
host
- databaseName
- login
- user name or null
for Windows authenticationpassword
- password or null
for Windows authenticationpublic java.lang.String toString()
toString
in class ConnectivityBase
public void disconnect()
Database
object is not
connectedConnection.setAutoCommit(boolean)
) prior to calling the this
method. If this method is called and there is an active transaction, the
results are generally unpredictable.RuntimeException
public java.sql.Connection getConnection()
Connection
to the database or connects to the
database if not connectedRuntimeException
null
public boolean connect()
true
if connection is set properly or already
exists, false
otherwise.public Statement getStatement()
Statement.close()
method after all needed operations
are completedpublic java.lang.String getValue(java.lang.String sqlQuery)
sqlQuery
- SQL query to be executedpublic java.util.Map<java.lang.String,java.lang.String> getRow(java.lang.String sqlQuery)
Map
that contains {"Field name"; "Field value"}
String
pairs.sqlQuery
- SQL query to be executedMap
that contains {"Field name"; "Field value"} String
pairs or null if an error occurs or if the query produces no
valuespublic java.lang.Object getMatrix(java.lang.String sqlQuery, java.lang.String type)
sqlQuery
- SQL query to be executedtype
- one of:
"byte"
"short"
"int"
"long"
"float"
"double"
"boolean"
"String"
public ResultSet getTableResultSet(java.lang.String tableName, java.lang.String listOfFields, java.lang.String keyField, java.lang.String keyFieldValue)
tableName
- Table namelistOfFields
- List of fields (ignored if null)keyField
- Name of the key field (ignored if null or if sListOfFields is
null)keyFieldValue
- Value of the key field (ignored if null or if sListOfFields is
null)ResultSet.close()
method after all needed
operations are completedpublic ResultSet getQueryResultSet(java.lang.String queryText, java.lang.String listOfFields, java.lang.String keyField, java.lang.String keyFieldValue)
queryText
- Query textlistOfFields
- List of fields (ignored if null)keyField
- Name of the key field (ignored if null or if sListOfFields is
null)keyFieldValue
- Value of the key field (ignored if null or if sListOfFields is
null)ResultSet.close()
method after all needed
operations are completedpublic ResultSet getResultSet(java.lang.String sqlQuery)
ResultSet
object.sqlQuery
- SQL query to be executedResultSet
produced by specified query or
null
if an error occursResultSet.close()
method after all needed
operations are completedpublic boolean modify(java.lang.String sqlQuery)
sqlQuery
- SQL query to be executedpublic java.lang.Integer getFieldType(java.lang.String sTableName, java.lang.String sFieldName)
sTableName
- Table namesFieldName
- Field namenull
if an error occurs@AnyLogicInternalCodegenAPI @Deprecated public void restoreOwner(java.lang.Object owner)
restoreOwner
in interface com.anylogic.engine.internal.Child
owner
- owner of this object, usually Agent
,
Experiment
or
ShapeGroup
@Deprecated public void releaseStatement(Statement statement)
Statement.close()
method insteadstatement
- a Statement
previously obtained through
getStatement()
getStatement()
@Deprecated public void closeResultSet(ResultSet rs)
ResultSet.close()
method insteadResultSet
, obtained using preceding
getTableResultSet(String, String, String, String)
,
getQueryResultSet(String, String, String, String)
or
getResultSet(String)
callResultSet
s are closed automatically on this
Database
destroyrs
- public static java.sql.Statement getSQLStatement(Statement statement)
Statement
, backed by given
Statement
objectstatement
- the Statement
object, obtained by
getStatement()
statement
public static java.sql.ResultSet getSQLResultSet(ResultSet rs)
public void setExcelStreamingMode(DatabaseExcelStreamingMode mode)
mode
- streaming mode, NONE for default mode@AnyLogicInternalAPI public DatabaseDescriptor getDbDescriptor()
Copyright © AnyLogic North America, LLC. All Rights Reserved.