com.supermap.data
类 Datasource

java.lang.Object
  继承者 com.supermap.data.Datasource

public class Datasource
extends java.lang.Object

数据源类。

该类管理投影信息、数据源与数据库的连接信息和对其中的数据集的相关操作,如通过已有数据集复制生成新的数据集等。

每个数据源对应一种数据引擎。SuperMap 产品中提供了多种数据源类型,分为文件型数据源、数据库型数据源和 Web 数据源。如 UDB 数据源属于文件型数据源; Oracle、SQL Server、MySQL、PostgreSQL 和 DB2 数据源属于数据库型数据源;OGC、GoogleMaps、超图云服务、REST 地图服务和天地图地图服务数据源属于 Web 数据源。

当单个Geometry比较大时,MySQL数据库型数据源需要修改配置文件,因为MySQL会根据配置文件限制服务端接受的数据包大小,导致写入或更新失败。修改方法: 打开MySQL安装目录下的mysql.ini配置文件,根据Geometry数据大小设置合适的max_allowed_packet;若无法打开配置文件,也可以在MySQL命令行中设置:set global max_allowed_packet=?。完成配置后需要重启MySQL服务。

数据源定义了一致的数据访问接口和规范。数据源的物理存储既可以是文件方式,也可以是数据库方式。区别不同存储方式的主要依据是其所采用的数据引擎类型:采用 UDB 引擎时,数据源以文件方式存储(*.udb,*.udd)——文件型数据源文件用.udb 文件存储空间数据,.udd 文件存储属性数据,采用空间数据库引擎时,数据源存储在指定的 DBMS 中。

数据源对象通常作为工作空间中数据源集合中的一个元素。可以对数据源进行保存操作、对数据集进行复制操作。

一个工作空间可以打开多个数据源,不同的数据源通过不同的别名(Alias)进行标识。

其中值得一提的是我们假设数据源中的数据都使用同样的单位和空间参考系。

通过 isConnected() 方法可以设置数据源是否自动连接,当选择自动连接的时候,在打开工作空间时,数据源会自动连接数据库中的数据。由于数据集默认是不打开的,所以如果要对数据集的数据进行修改或其他操作,可以通过 Dataset 类中提供的 open() 方法来实现打开数据集操作,否则数据集处于关闭状态。


构造方法摘要
Datasource(EngineType enginetype)
          根据指定的参数构造Datasource类的新实例。
 
方法摘要
 void addDisconnectedListener(DatasourceDisconnectedListener l)
          添加一个用于接收数据源断开连接结束事件(DatasourceDisconnectedEvent)的监听器。
 void addRefreshedListener(DatasourceRefreshedListener l)
          添加一个用于接收数据源刷新结束事件(DatasourceRefreshedEvent)的监听器。
 void addSteppedListener(SteppedListener l)
          添加一个用于接收进度条事件(SteppedEvent)的监听器。
 boolean changePassword(java.lang.String oldPassword, java.lang.String newPassword)
          修改已经打开的数据源的密码。
 void close()
          关闭当前数据源。
 boolean connect()
          用于连接数据源。
 Dataset copyDataset(Dataset srcDataset, java.lang.String desDatasetName, EncodeType encodeType)
          用于在相同或不同引擎数据源中复制数据集。
 Dataset copyDataset(Dataset srcDataset, java.lang.String desDatasetName, EncodeType encodeType, Charset nCharset)
          根据指定的编码类型以及字符集类型复制数据集。
 Dataset copyDatasetWithSmID(Dataset srcDataset, java.lang.String desDatasetName, EncodeType encodeType)
          复制数据集,保留SmID的值,目前只支持Oracle、UDB。
 boolean create(DatasourceConnectionInfo connectioninfo)
          根据指定的数据源连接信息创建数据源。
 boolean createSequence(java.lang.String sequenceName)
          根据给定的名称创建一个序列。
 boolean createSequence(java.lang.String sequenceName, long startValue, long maxValue, int incrementValue)
          根据给定的参数创建序列,可以自定义序列长度和步长。
 boolean deleteSequence(java.lang.String sequenceName)
          删除指定名称的序列。
 boolean executeSQL(java.lang.String sql)
          用于对数据库类型的数据源执行一个 SQL 语句。
 DatasetVector fieldToPointDataset(DatasetVector srcDataset, java.lang.String desDatasetName, java.lang.String fieldX, java.lang.String fieldY)
          从一个矢量数据集的属性表中的 X、Y 坐标字段创建点数据集。
 boolean flush(java.lang.String datasetName)
          用于将内存中暂未写入数据库中的数据保存到数据库。
 java.lang.String getAlias()
          返回数据源的别名。
static int getConnectCheckInterval()
          返回两次检测连接数据库时间间隔,以毫秒为单位。
 DatasourceConnectionInfo getConnectionInfo()
          返回此数据源的连接信息。
 Unit getCoordUnit()
          返回数据源坐标单位。
 Datasets getDatasets()
          返回此数据源所包含的数据集的集合对象。
 java.lang.String getDateLastUpdated()
          获取数据源最后更新的时间。
 java.lang.String getDescription()
          返回用户添加的关于数据源的描述信息。
 Unit getDistanceUnit()
          返回数据源的距离单位。
 DomainManager getDomainManager()
          返回值域管理对象。
 EngineType getEngineType()
          返回此数据源的数据引擎类型。
 LockStateType getLockState()
          获取数据源的内存锁状态。
 PrjCoordSys getPrjCoordSys()
          返回数据源的投影信息。
 ReplicaManager getReplicaManager()
          获取数据源的复本管理类对象。
 DatasetGroup getRootGroup()
          返回数据集分组的根组。
 long getSequenceNextValue(java.lang.String sequenceName)
          返回指定序列的下一个值。
 VersionManager getVersionManager()
          获取数据源的版本管理类对象。
 Workspace getWorkspace()
          得到数据源所在的工作空间对象。
 DatasetVector innerPointToDataset(DatasetVector srcDataset, java.lang.String destDatasetName)
          创建矢量数据集的内点数据集,并把矢量数据集中几何对象的属性复制到相应的点数据集属性表中。
 boolean isAutoConnect()
          返回一个布尔值指定数据源是否自动连接数据库。
 boolean isCanConnect()
          用于连接数据源,连接成功返回 True;否则返回 False。
 boolean isConnected()
          判断数据源是否与数据库连接,非数据库型数据源此方法无效。
 boolean isFieldIndexNameExist(java.lang.String strIndexName, java.lang.String strTableName)
          判断指定表名的指定索引名称是否存在。
 boolean isModified()
          返回此数据源是否有改动。
 boolean isOpened()
          返回数据源是否打开的状态,如果数据源处于打开状态,返回 true,如果数据源被关闭,则返回 false。
 boolean isReadOnly()
          返回数据源是否以只读方式打开。
 boolean isSequenceExist(java.lang.String sequenceName)
          判断指定的序列是否存在。
 boolean isUnicodeSupported()
          返回判断当前数据源是否支持 Unicode 数据存储,true 表示支持;false 表示不支持。
 DatasetVector labelToTextDataset(DatasetVector srcDataset, java.lang.String desDatasetName, java.lang.String textField, TextStyle textStyle)
          用于将数据集的属性字段生成一个文本数据集。
 boolean open(DatasourceConnectionInfo connectioninfo)
          根据指定的数据源连接信息打开数据源。
 Dataset open(DatasourceConnectionInfo connectioninfo, java.lang.String strDtName)
          根据指定的数据源连接信息和数据集名称打开数据源获取数据集。
 DatasetVector recordsetToDataset(Recordset recordset, java.lang.String desDatasetName)
          用于将记录集的内容生成一个相应类型的矢量数据集。
 void refresh()
          该方法用于对数据库类型的数据源进行刷新。
 void removeDisconnectedListener(DatasourceDisconnectedListener l)
          移除一个用于接收数据源断开连接结束事件(DatasourceDisconnectedEvent)的监听器。
 void removeRefreshedListener(DatasourceRefreshedListener l)
          移除一个用于接收数据源刷新结束事件(DatasourceRefreshedEvent)的监听器。
 void removeSteppedListener(SteppedListener l)
          移除一个用于接收进度条事件(SteppedEvent)的监听器。
 void setAutoConnect(boolean value)
          设置一个布尔值指定数据源是否自动自动连接数据库。
static void setConnectCheckInterval(int value)
          设置两次检测连接数据库时间间隔,以毫秒为单位。
 void setCoordUnit(Unit unit)
          设置数据源坐标单位。
 void setDescription(java.lang.String value)
          设置用户添加的关于数据源的描述信息。
 void setDistanceUnit(Unit unit)
          设置数据源的距离单位。
 boolean setLockState(LockStateType lockType)
          数据源设置内存锁状态。
 void setPrjCoordSys(PrjCoordSys value)
          设置数据源的投影信息。
 void updateDataset()
          对数据集进行更新操作。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

Datasource

public Datasource(EngineType enginetype)
根据指定的参数构造Datasource类的新实例。

参数:
enginetype - 引擎类型。
方法详细信息

open

public boolean open(DatasourceConnectionInfo connectioninfo)
根据指定的数据源连接信息打开数据源。

参数:
connectioninfo - 数据源连接信息。
返回:
打开是否成功,成功返回true,失败返回false。

open

public Dataset open(DatasourceConnectionInfo connectioninfo,
                    java.lang.String strDtName)
根据指定的数据源连接信息和数据集名称打开数据源获取数据集。

参数:
connectioninfo - 数据源连接信息。
strDtName - 数据集名称。
返回:
数据集。

create

public boolean create(DatasourceConnectionInfo connectioninfo)
根据指定的数据源连接信息创建数据源。

参数:
connectioninfo - 数据源连接信息。
返回:
创建是否成功,成功返回true,失败返回false。

close

public void close()
关闭当前数据源。


getWorkspace

public Workspace getWorkspace()
得到数据源所在的工作空间对象。

返回:
数据源所在的工作空间。

isUnicodeSupported

public boolean isUnicodeSupported()
返回判断当前数据源是否支持 Unicode 数据存储,true 表示支持;false 表示不支持。SuperMap Objects Java 6R(2012) SP2 版本为非 Unicode 版本,该方法返回值为 false。

返回:
一个布尔值表示当前数据源是否支持 Unicode 数据存储,true 表示支持;false 表示不支持。

getAlias

public java.lang.String getAlias()
返回数据源的别名。别名用于在工作空间中唯一标识数据源,可以通过它访问数据源。数据源的别名在创建数据源或打开数据源时给定,打开同一个数据源可以使用不同的别名。

返回:
数据源的别名。

isAutoConnect

public boolean isAutoConnect()
返回一个布尔值指定数据源是否自动连接数据库。

返回:
如果数据源自动连接数据库,返回 true,否则返回 false。

setAutoConnect

public void setAutoConnect(boolean value)
设置一个布尔值指定数据源是否自动自动连接数据库。

参数:
value - 一个布尔值指定是否自动连接。

isConnected

public boolean isConnected()
判断数据源是否与数据库连接,非数据库型数据源此方法无效。

如果数据源没有连接,可以通过调用 connect() 方法 来实现与数据库的连接。

返回:
此数据源是否已经连接。

getConnectionInfo

public DatasourceConnectionInfo getConnectionInfo()
返回此数据源的连接信息。数据源连结信息包括了进行数据源连接的所有信息,如所要连接的服务器名称,数据库名称、用户名、密码等。有关数据源连接信息属性的详细信息,请参考 DatasourceConnectionInfo 类。

返回:
此数据源的连接信息。
另请参见:
DatasourceConnectionInfo

getDatasets

public Datasets getDatasets()
返回此数据源所包含的数据集的集合对象。该数据集集合提供对数据集的管理功能,如创建、删除、重命名等操作。

一个数据源中所有的数据集对象都由一个数据集集合对象来管理。当数据源中存在多个 schema,可获取到多个 schema 下的数据集,同名数据集将采用 schema.datasetname 的形式进行区分。(多个 schema 的情况当前仅支持 PostGIS 和 YuKon 引擎)

特别说明:PostGIS数据库中存在第三方来源的大小写不同的同名数据集时,引擎暂未对此场景做处理。

返回:
此数据源所包含的数据集的集合对象。

getDescription

public java.lang.String getDescription()
返回用户添加的关于数据源的描述信息。用户可以在描述信息里加入你想加入的任何信息,例如建立数据源的人员、数据的来源、数据的主要内容、数据的精度、质量等信息,这些信息对于维护数据具有重要的意义。

返回:
用户添加的关于数据源的描述信息。

setDescription

public void setDescription(java.lang.String value)
设置用户添加的关于数据源的描述信息。用户可以在描述信息里加入你想加入的任何信息,例如建立数据源的人员、数据的来源、数据的主要内容、数据的精度、质量等信息,这些信息对于维护数据具有重要的意义。

参数:
value - 用户添加的关于数据源的描述信息。

getEngineType

public EngineType getEngineType()
返回此数据源的数据引擎类型。数据源引擎类型由创建数据源时选择的数据源引擎决定,数据源一旦建立,其引擎类型就不能被修改。现在提供的引擎类型有 UDB、OracelPlus、SQLPlus,详情请参见 EngineType 类型。

返回:
此数据源的数据引擎类型。
另请参见:
EngineType

isModified

public boolean isModified()
返回此数据源是否有改动。true 表示数据源已改动,false 表示数据源还未改动。数据源负责管理数据集,因此当其中的数据集个数等内容发生改变时,此属性会返回 true。当数据源是以事务方式打开时,关闭数据源时可通过此属性判断是否需要提示用户保存修改内容。

返回:
此数据源是否有改动。

getPrjCoordSys

public PrjCoordSys getPrjCoordSys()
返回数据源的投影信息。

返回:
数据源的投影信息。

setPrjCoordSys

public void setPrjCoordSys(PrjCoordSys value)
设置数据源的投影信息。

参数:
value - 数据源的投影信息。

getRootGroup

public DatasetGroup getRootGroup()
返回数据集分组的根组。

返回:
数据集分组的根组。

isReadOnly

public boolean isReadOnly()
返回数据源是否以只读方式打开。

对文件型数据源,如果只读方式打开,就是共享的,可以打开多次;如果以非只读方式打开,则只能打开一次。

如果以只读方式打开数据源,数据源的相关信息以及其中的数据都不可修改。即在数据源中不允许进行下列操作,例如:复制数据集(copyDataset()),创建内点数据集(innerPointToDataset()),根据关联表的坐标字段创建点数据集(fieldToPointDataset()),属性字段生成文本数据集(labelToTextDataset()),将记录集的内容生成矢量数据集(recordsetToDataset())。

对于影像数据源(IMAGEPLUGINS 引擎类型)只会以只读方式打开。

返回:
数据源是否以只读方式打开。

getCoordUnit

public Unit getCoordUnit()
返回数据源坐标单位。

返回:
数据源坐标单位。

setCoordUnit

public void setCoordUnit(Unit unit)
设置数据源坐标单位。

参数:
unit - 数据源坐标单位。

getDistanceUnit

public Unit getDistanceUnit()
返回数据源的距离单位。

返回:
数据源的距离单位。

setDistanceUnit

public void setDistanceUnit(Unit unit)
设置数据源的距离单位。

参数:
unit - 数据源的距离单位。

getVersionManager

public VersionManager getVersionManager()
获取数据源的版本管理类对象。

返回:
版本管理类对象。

getReplicaManager

public ReplicaManager getReplicaManager()
获取数据源的复本管理类对象。

返回:
复本管理类对象

connect

public boolean connect()
用于连接数据源。连接成功返回 true,否则返回 false。

可以通过 isConnected() 方法判断数据源与数据库是否连接。未连接时可以使用 connect() 方法重新连接。

返回:
连接数据源成功返回 true,否则返回 false。

copyDataset

public Dataset copyDataset(Dataset srcDataset,
                           java.lang.String desDatasetName,
                           EncodeType encodeType)
用于在相同或不同引擎数据源中复制数据集。复制数据集之前必须保证当前数据源已经打开而且可写。复制数据集之前,可先调用 Datasets.isAvailableDatasetName() 方法来判断目标数据集的名称是否合法,并且目标数据集的名称不能使用数据库的关键字;复制数据集时,可通过 EncodeType 参数来对数据集的编码方式进行修改。有关数据集存储的编码方式请参见 EncodeType 枚举类型。

由于CAD数据集不支持任何编码,对 CAD 数据集进行复制(copyDataset())操作时设置的 EncodeType 无效,即只能置为 NONE

支持将ImagePlugin引擎数据源中的影像数据集到其它数据源中,也支持将其它数据源中的数据集复制到影像数据源

从 ImagePlugin 打开的数据源中复制数据集到其他数据集无效,也不能向 ImagePlugin 数据源中复制数据集,因为这种引擎是只读的。

PostGIS作为复制的目标数据源时,复制后字段名统一存为小写。

参数:
srcDataset - 要复制的源数据集。
desDatasetName - 目标数据集的名称。
encodeType - 数据集的编码方式。
返回:
复制得到的数据集。
另请参见:
EncodeType
示例:
以下代码示范如何复制数据集。
 public void copyDatasetTest() {
        // 假设打开一个工作空间 workspace 对象,工作空间中存在两个数据源对象:datasource 和 datasource_Des
        // 在数据源 datasource 中取出名为“World”的数据集,将其复制到数据源 datasource_Des 下
        DatasetVector datasetVector = (DatasetVector) datasource.getDatasets().
                                      get("World");

        // 返回一个可用的目标数据集的名称,复制数据集
        String datasetName = datasource_Des.getDatasets().
                             getAvailableDatasetName("World_1");
        Dataset newDataset = datasource_Des.copyDataset(datasetVector,
                datasetName, EncodeType.INT32);
    }
 

copyDatasetWithSmID

public Dataset copyDatasetWithSmID(Dataset srcDataset,
                                   java.lang.String desDatasetName,
                                   EncodeType encodeType)
复制数据集,保留SmID的值,目前只支持Oracle、UDB。

参数:
srcDataset - 要复制的源数据集。
desDatasetName - 目标数据集的名称。
encodeType - 数据集的编码方式。
返回:
复制得到的数据集。

copyDataset

public Dataset copyDataset(Dataset srcDataset,
                           java.lang.String desDatasetName,
                           EncodeType encodeType,
                           Charset nCharset)
根据指定的编码类型以及字符集类型复制数据集。该方法应用于把文本数据集或CAD数据集升级为支持多国语言的 UTF8 字符集时。SuperMap Objects .NET 6R(2012) SP2版本不支持该方法,预留后续版本使用。

参数:
srcDataset - 要复制的源数据集。
desDatasetName - 目标数据集的名称。
encodeType - 数据集的编码方式。
nCharset - 数据集的字符集类型。
返回:
复制得到的数据集。

innerPointToDataset

public DatasetVector innerPointToDataset(DatasetVector srcDataset,
                                         java.lang.String destDatasetName)
创建矢量数据集的内点数据集,并把矢量数据集中几何对象的属性复制到相应的点数据集属性表中。创建成功返回内点数据集。创建失败返回 null。

参数:
srcDataset - 要计算内点数据集的矢量数据集。
destDatasetName - 结果点数据集的名称。
返回:
多边形内点数据集。
另请参见:
fieldToPointDataset(DatasetVector, String, String, String)
示例:
请参见 Datasource.fieldToPointDataset() 方法的示例。

fieldToPointDataset

public DatasetVector fieldToPointDataset(DatasetVector srcDataset,
                                         java.lang.String desDatasetName,
                                         java.lang.String fieldX,
                                         java.lang.String fieldY)
从一个矢量数据集的属性表中的 X、Y 坐标字段创建点数据集。即以该矢量数据集的属性表中的 X 、Y 坐标字段作为数据集的 X、Y 坐标来创建点数据集。注意待创建的点数据集名称不能与数据源中已有的数据集重名。

参数:
srcDataset - 关联属性表中带有坐标字段的矢量数据集。
desDatasetName - 待创建的点数据集的名称。
fieldX - 表示点横坐标的字段。
fieldY - 表示点纵坐标的字段。
返回:
新创建的点数据集。
示例:
以下代码示范如何从矢量数据集的字段创建点数据集,如何创建内点数据集,如何将字符型字段转换成文本数据集,如何将记录集的内容生成一个相应类型的矢量数据集。
 public void toDatasetTest() {
        // 假设打开一个工作空间 workspace 对象,工作空间中存在一个数据源 datasource 对象
        // 取出该数据源中的一个数据集{datasetVector},该数据集有两个名为 SQKM 和 SQMI 的 double 类型字段,以及名为 Capital 的 String 类型字段
        // 从 datasetVector 属性表的 SQKM、SQMI 字段创建点数据集
        DatasetVector datasetVector = (DatasetVector) datasource.getDatasets().
                                      get("World");
        datasource.fieldToPointDataset(datasetVector,
                                       datasource.getDatasets().
                                       getAvailableDatasetName("point"), "SQKM",
                                       "SQMI");

        // Create the inner point dataset of datasetVector.
        datasource.innerPointToDataset(datasetVector,
                                       datasource.getDatasets().
                                       getAvailableDatasetName("innerPoint"));

        // Create a text dataset using the field "Capital" of datasetVector.
        datasource.labelToTextDataset(datasetVector,
                                      datasource.getDatasets().
                                      getAvailableDatasetName("text"),
                                      "Capital",
                                      new TextStyle());

        // Get the record where SmID>10. Converts the content of the recordset to the corresponding vector dataset.
        Recordset recordset = datasetVector
                              .query("SmID>10", CursorType.STATIC);
        datasource.recordsetToDataset(recordset,
                                      datasource.getDatasets().
                                      getAvailableDatasetName("Record"));
        recordset.dispose();
    }
 

labelToTextDataset

public DatasetVector labelToTextDataset(DatasetVector srcDataset,
                                        java.lang.String desDatasetName,
                                        java.lang.String textField,
                                        TextStyle textStyle)
用于将数据集的属性字段生成一个文本数据集。通过此方法生成的文本数据集中的文本对象,均以其对应的空间对象的内点作为对应的锚点,对应的空间对象即当前文本对象的内容来源于相应空间对象的属性值。

参数:
srcDataset - 要转换属性的数据集,必须为矢量数据集。
desDatasetName - 目标文本数据集名,此数据集存放于调用本方法的数据源中。
textField - 要转换的属性字段的名称。
textStyle - 文本数据集的风格。
返回:
一个文本数据集。
另请参见:
fieldToPointDataset(DatasetVector,String,String, String)
示例:
请参见 Datasource.fieldToPointDataset() 方法的示例。

recordsetToDataset

public DatasetVector recordsetToDataset(Recordset recordset,
                                        java.lang.String desDatasetName)
用于将记录集的内容生成一个相应类型的矢量数据集。例如:点数据集,纯属性数据集等。

参数:
recordset - 要转换的源记录集。
desDatasetName - 要生成的矢量数据集的名称。
返回:
一个矢量数据集。
另请参见:
fieldToPointDataset(DatasetVector,String,String, String)
示例:
请参见 Datasource.fieldToPointDataset() 方法的示例。

executeSQL

public boolean executeSQL(java.lang.String sql)
用于对数据库类型的数据源执行一个 SQL 语句。可以完成用户自定义的属性表查询。
  1. SQL 查询语句不能跨数据库执行;
  2. 该接口只负责执行查询语句,不对具体查询过程控制。不建议普通用户使用;
  3. 对于 SQLPlus 数据源,该方法可以一次执行多条 SQL 语句,在参数 sql 字符串中使用空格或回车分隔各 SQL 语句。不可使用分号。例如:

      strSQL = "CREATE TABLE T1 (Col1 int)
      INSERT INTO T1 (test)VALUES (10)";

    SQL 语句中可直接书写执行事务处理相关的语句而不需设置“以事务方式打开”;

  4. 对于 OraclePlus 数据源,该方法只能执行一条 SQL 语句。进行事务处理时,需在数据源打开时设置“以事务方式打开”;相关的事务处理语句(提交、回滚事务)必须在应用程序关闭之前进行。
  5. 注意:当前版本暂不支持事务的处理。

      参数:
      sql - 标准 SQL 查询语句.
      返回:
      一个 boolean 值,表示是否成功执行 SQL 语句。如果成功返回 true,否则返回 false。

refresh

public void refresh()
该方法用于对数据库类型的数据源进行刷新。


flush

public boolean flush(java.lang.String datasetName)
用于将内存中暂未写入数据库中的数据保存到数据库。

参数:
datasetName - 需要刷新的数据集名称。当传入长度为空的字符串,表示对所有数据集进行刷新;否则对指定名字的数据集进行刷新。
返回:
一个布尔值,若保存成功返回 ture ,否则返回 false。

getDomainManager

public DomainManager getDomainManager()
返回值域管理对象。

返回:
值域管理对象。

createSequence

public boolean createSequence(java.lang.String sequenceName)
根据给定的名称创建一个序列。该序列从 0 开始,无固定长度,以 1 作为步长自增长,最大值为 Int64 的最大值。

参数:
sequenceName - 指定的待创建序列的名称。
返回:
一个布尔值,用于指示创建序列是否成功,如果成功返回 true,否则返回 false。
从以下版本开始:
SuperMap iObjects Java 7.0.0

createSequence

public boolean createSequence(java.lang.String sequenceName,
                              long startValue,
                              long maxValue,
                              int incrementValue)
根据给定的参数创建序列,可以自定义序列长度和步长。

参数:
sequenceName - 指定的待创建序列的名称。
startValue - 指定的序列的起始值。
maxValue - 指定的序列的终止值。指定为 -1,表示采用 Int64 类型的最大值作为终止值。
incrementValue - 指定的增长步长。
返回:
一个布尔值,用于指示创建序列是否成功,如果成功返回 true,否则返回 false。
从以下版本开始:
SuperMap iObjects Java 7.0.0

deleteSequence

public boolean deleteSequence(java.lang.String sequenceName)
删除指定名称的序列。

参数:
sequenceName - 指定的待删除序列的名称。
返回:
一个布尔值,用于指示删除序列是否成功,如果成功,返回 true,否则返回 false。
从以下版本开始:
SuperMap iObjects Java 7.0.0

getSequenceNextValue

public long getSequenceNextValue(java.lang.String sequenceName)
返回指定序列的下一个值。

序列刚创建时,使用该方法获得的是序列的起始值。当序列被使用后,使用该方法可以获取到下一个将要被使用的序列值。注意,序列值是以该序列指定的步长来增长的。

参数:
sequenceName - 指定的序列名称。
返回:
序列的下一个值。
从以下版本开始:
SuperMap iObjects Java 7.0.0

isSequenceExist

public boolean isSequenceExist(java.lang.String sequenceName)
判断指定的序列是否存在。

参数:
sequenceName - 指定的序列名称。
返回:
一个布尔值,用于指示序列是否存在,如果存在,返回 true,否则返回 false。
从以下版本开始:
SuperMap iObjects Java 7.0.0

addDisconnectedListener

public void addDisconnectedListener(DatasourceDisconnectedListener l)
添加一个用于接收数据源断开连接结束事件(DatasourceDisconnectedEvent)的监听器。

参数:
l - 一个用于接收数据源断开连接结束事件的监听器。

removeDisconnectedListener

public void removeDisconnectedListener(DatasourceDisconnectedListener l)
移除一个用于接收数据源断开连接结束事件(DatasourceDisconnectedEvent)的监听器。

参数:
l - 一个用于接收数据源断开连接结束事件的监听器。

addRefreshedListener

public void addRefreshedListener(DatasourceRefreshedListener l)
添加一个用于接收数据源刷新结束事件(DatasourceRefreshedEvent)的监听器。

参数:
l - 一个用于接收数据源刷新结束事件的监听器。

removeRefreshedListener

public void removeRefreshedListener(DatasourceRefreshedListener l)
移除一个用于接收数据源刷新结束事件(DatasourceRefreshedEvent)的监听器。

参数:
l - 一个用于接收数据源刷新结束事件的监听器。

addSteppedListener

public void addSteppedListener(SteppedListener l)
添加一个用于接收进度条事件(SteppedEvent)的监听器。

参数:
l - 用于接收进度条事件的监听器。

removeSteppedListener

public void removeSteppedListener(SteppedListener l)
移除一个用于接收进度条事件(SteppedEvent)的监听器。

参数:
l - 用于接收进度条事件的监听器。

getConnectCheckInterval

public static int getConnectCheckInterval()
返回两次检测连接数据库时间间隔,以毫秒为单位。该返回值对 DatasourceDisconnectedEvent 事件有效。

返回:
两次检测连接数据库时间间隔,以毫秒为单位。

setConnectCheckInterval

public static void setConnectCheckInterval(int value)
设置两次检测连接数据库时间间隔,以毫秒为单位。

该值对 DatasourceDisconnectedEvent 事件有效。

参数:
value - 两次检测连接数据库时间间隔,以毫秒为单位。

changePassword

public boolean changePassword(java.lang.String oldPassword,
                              java.lang.String newPassword)
修改已经打开的数据源的密码。

只有在工作空间处于打开的状态下,才能修改密码,并且该方法只针对文件型的数据源。

参数:
oldPassword - 指定的旧的密码。
newPassword - 指定的新的密码。
返回:
true 表示修改成功;false 表示修改失败。

updateDataset

public void updateDataset()
对数据集进行更新操作。


isOpened

public boolean isOpened()
返回数据源是否打开的状态,如果数据源处于打开状态,返回 true,如果数据源被关闭,则返回 false。

返回:
一个布尔值,指示数据源是否为打开的状态。如果数据源处于打开状态,返回 true,否则返回 false。

getDateLastUpdated

public java.lang.String getDateLastUpdated()
获取数据源最后更新的时间。

返回:
最后更新的时间。

isFieldIndexNameExist

public boolean isFieldIndexNameExist(java.lang.String strIndexName,
                                     java.lang.String strTableName)
判断指定表名的指定索引名称是否存在。

参数:
strIndexName - 指定的索引名称。
strTableName - 指定的表名。
返回:
true 表示存在;false 表示不存在。

getLockState

public LockStateType getLockState()
获取数据源的内存锁状态。

返回:
锁的状态。

setLockState

public boolean setLockState(LockStateType lockType)
数据源设置内存锁状态。

参数:
lockType - 锁的类型。 指定的索引名称。
返回:
一个布尔值,返回是否设置成功。

isCanConnect

public boolean isCanConnect()
用于连接数据源,连接成功返回 True;否则返回 False。

返回:
boolean