smartbi.sdk.service.datasource
类 DataSourceService

java.lang.Object
  继承者 smartbi.sdk.service.datasource.DataSourceService

public class DataSourceService
extends java.lang.Object

此类为处理新建、编辑数据源连接的相关功能


构造方法摘要
DataSourceService(ClientConnector conn)
          构造函数
 
方法摘要
 void addTablesToDataSource(java.lang.String dataSourceId, java.util.List<JDBCTable> tableList)
          给数据源添加表
 java.lang.String createDataSource(java.lang.String name, java.lang.String connectUserName, java.lang.String connectPassword, int maxConnection, java.lang.String driverType, java.lang.String driverClassName, java.lang.String url)
          创建数据源
 void deleteDataSource(java.lang.String dataSourceID)
          删除数据源
 SDKGridData execute(java.lang.String dataSourceID, java.lang.String sql, int maxRows, boolean format, boolean cacheable)
          执行指定SQL语句,返回相应结果集。
 SDKGridData executeNoCacheable(java.lang.String dataSourceID, java.lang.String sql)
          直接执行指定SQL语句,返回相应结果集,不从缓存中返回结果集。
 int executeUpdate(java.lang.String dataSourceID, java.lang.String sql)
          直接执行SQL语句,可以是INSERT, UPDATE, DELETE语句,也可以是SQL DDL语句。
 SDKGridData getDataByQuerySql(java.lang.String dsId, java.lang.String sql, int pageNum, int rowPerPage)
          获取未格式化的原始的结果集数据。
 DataSource getDataSource(java.lang.String dataSourceID)
          获取数据源
 java.util.List<BasicField> getFields(java.lang.String tabelId)
          获取表字段
 SDKGridData getSampleTableData(java.lang.String tableId, int maxRows)
          获取“数据源”节点下某张表的数据。
 void removeTables(java.lang.String dsId, java.lang.String schemaName, java.util.List<java.lang.String> tableNameList)
          删除数据库表
 void removeTablesFromDataSource(java.lang.String dataSourceId, java.lang.String schemaName, java.util.List<java.lang.String> tableNameList)
          删除数据源的表、视图、存储过程
 void synchTablesToDataSource(java.lang.String dataSourceID, java.lang.String schema)
          同步schema表
 void syncTable(java.lang.String tableId)
          同步表
 void updateDataSource(java.lang.String id, java.lang.String connectUserName, java.lang.String connectPassword, int maxConnection, java.lang.String driverType, java.lang.String driverClassName, java.lang.String url)
          修改数据源
 void updateTablePropertys(java.lang.String tableId, java.lang.String tableAlias, java.util.List<BasicField> fieldList)
          修改表属性
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

DataSourceService

public DataSourceService(ClientConnector conn)
构造函数

方法详细信息

createDataSource

public java.lang.String createDataSource(java.lang.String name,
                                         java.lang.String connectUserName,
                                         java.lang.String connectPassword,
                                         int maxConnection,
                                         java.lang.String driverType,
                                         java.lang.String driverClassName,
                                         java.lang.String url)
创建数据源

参数:
name - 数据源名称
connectUserName - 连接用户名
connectPassword - 连接密码
maxConnection - 最大连接数
driverType - 数据库类型,如 KINGBASE kingbase数据库 ODBC odbc连接方式 MSSQL Ms SQL Server数据库 MYSQL Mysql数据库 ORACLE Oracel数据库 DB2_400 DB2数据库 DB2 DB2数据库 DB2_V9 DB2_V9数据库 INFORMIX Informix数据库 SYBASE Sybase数据库 TERADATA Terdata数据库 TERADATA_V12 Teradata_v12数据库 ACCESS Access数据库 EXCEL Excel POSTGRESQL PostgreSQL数据库 GREENPLUM Greenplum数据库 DEFAULT 其它类型数据库
driverClassName - 驱动程序类名
url - 连接字符串
返回:
数据源ID

updateDataSource

public void updateDataSource(java.lang.String id,
                             java.lang.String connectUserName,
                             java.lang.String connectPassword,
                             int maxConnection,
                             java.lang.String driverType,
                             java.lang.String driverClassName,
                             java.lang.String url)
修改数据源

参数:
id - 数据源ID
connectUserName - 连接用户名
connectPassword - 连接密码
maxConnection - 最大连接数
driverType - 数据库类型,如 KINGBASE kingbase数据库 ODBC odbc连接方式 MSSQL Ms SQL Server数据库 MYSQL Mysql数据库 ORACLE Oracel数据库 DB2_400 DB2数据库 DB2 DB2数据库 DB2_V9 DB2_V9数据库 INFORMIX Informix数据库 SYBASE Sybase数据库 TERADATA Terdata数据库 TERADATA_V12 Teradata_v12数据库 ACCESS Access数据库 EXCEL Excel POSTGRESQL PostgreSQL数据库 GREENPLUM Greenplum数据库 DEFAULT 其它类型数据库
driverClassName - 驱动程序类名
url - 连接字符串

deleteDataSource

public void deleteDataSource(java.lang.String dataSourceID)
删除数据源

参数:
dataSourceID - - 数据源ID

synchTablesToDataSource

public void synchTablesToDataSource(java.lang.String dataSourceID,
                                    java.lang.String schema)
同步schema表

参数:
dataSourceID - 数据源ID
schema - schema名称,如果该数据源没有schema,则设置为null即可

syncTable

public void syncTable(java.lang.String tableId)
同步表

参数:
tableId - 表ID

getDataSource

public DataSource getDataSource(java.lang.String dataSourceID)
获取数据源

参数:
dataSourceID - 数据源ID
返回:
数据源对象

addTablesToDataSource

public void addTablesToDataSource(java.lang.String dataSourceId,
                                  java.util.List<JDBCTable> tableList)
给数据源添加表

参数:
dataSourceId - 数据源ID
tableList - 表对象列表

removeTablesFromDataSource

public void removeTablesFromDataSource(java.lang.String dataSourceId,
                                       java.lang.String schemaName,
                                       java.util.List<java.lang.String> tableNameList)
删除数据源的表、视图、存储过程

参数:
dataSourceId - 数据源ID
schema - schema
tableNameList - 表名称列表

removeTables

public void removeTables(java.lang.String dsId,
                         java.lang.String schemaName,
                         java.util.List<java.lang.String> tableNameList)
删除数据库表

参数:
dsId - 数据源id
schemaName - schema名称
tableNameList - 表名称列表

getFields

public java.util.List<BasicField> getFields(java.lang.String tabelId)
获取表字段

参数:
tabelId - 表ID
返回:
字段列表

updateTablePropertys

public void updateTablePropertys(java.lang.String tableId,
                                 java.lang.String tableAlias,
                                 java.util.List<BasicField> fieldList)
修改表属性

参数:
tableId - 表ID
tableAlias - 表别名
fieldList - 字段列表

getSampleTableData

public SDKGridData getSampleTableData(java.lang.String tableId,
                                      int maxRows)
获取“数据源”节点下某张表的数据。

参数:
tableId - 数据库表的ID值。
maxRows - 最大返回记录数。
返回:
SQL执行的结果集。

getDataByQuerySql

public SDKGridData getDataByQuerySql(java.lang.String dsId,
                                     java.lang.String sql,
                                     int pageNum,
                                     int rowPerPage)
获取未格式化的原始的结果集数据。

参数:
dsId - 数据源ID值
sql - 待执行SQL语句
pageNum - 获取结果集中的页数
rowPerPage - 分页显示每页行数
返回:
SQL执行的结果集

execute

public SDKGridData execute(java.lang.String dataSourceID,
                           java.lang.String sql,
                           int maxRows,
                           boolean format,
                           boolean cacheable)
执行指定SQL语句,返回相应结果集。该函数主要是为了在前端宏代码中调用。

参数:
dataSourceID - 数据源ID值。
sql - 待执行SQL语句。
maxRows - 返回的最大记录数。
format - 是否对结果集格式化。
cacheable - 是否从缓存中返回结果集。
返回:
返回SQL执行后的结果集。

executeNoCacheable

public SDKGridData executeNoCacheable(java.lang.String dataSourceID,
                                      java.lang.String sql)
直接执行指定SQL语句,返回相应结果集,不从缓存中返回结果集。该函数主要是为了在前端宏代码中调用。

参数:
dataSourceID - 数据源ID值。
sql - 待执行SQL语句。
返回:
返回SQL执行后的结果集。

executeUpdate

public int executeUpdate(java.lang.String dataSourceID,
                         java.lang.String sql)
直接执行SQL语句,可以是INSERT, UPDATE, DELETE语句,也可以是SQL DDL语句。该函数主要是为了在前端宏代码中调用。

参数:
dataSourceID - 数据源ID。
sql - 待执行的SQL语句。
返回:
either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) 0 for SQL statements that return nothing