public class DatasourceConnectionInfo
extends com.supermap.data.InternalHandleDisposable
数据源连接信息类。
包括了进行数据源连接的所有信息,如所要连接的服务器名称,数据库名称、用户名、密码等。当保存工作空间时,工作空间中的数据源的连接信息都将存储到工作空间文件中。对于不同类型的数据源,其连接信息有所区别。所以在使用该类所包含的成员时,请注意该成员所适用的数据源类型。
对于从数据源对象中返回的数据源连接信息对象,只有 isAutoConnect
方法可以被修改,其它内容是不可以被修改的。对于用户创建的数据源连接信息对象,其内容都可以修改。
SuperMap iObjects Java 7C 支持 UDB 引擎下的内存数据源,允许用户在内存中创建数据源。
public static void main(int m_DsType) { // 定义工作空间 Workspace workspace = new Workspace(); // 定义数据源连接信息,假设以下所有数据源设置都存在 DatasourceConnectionInfo datasourceconnection = new DatasourceConnectionInfo(); // 根据不同引擎类型的数据源进行相应连接信息的读取 switch (m_DsType) { // SQLPlus 数据源(必须设置 setDriver() 方法) case 2: // 设置 SQL 数据源连接需要的参数 datasourceconnection.setEngineType(EngineType.SQLPLUS); datasourceconnection.setServer("Server"); datasourceconnection.setDatabase("Database"); datasourceconnection.setUser("User"); datasourceconnection.setPassword("Java"); datasourceconnection.setAlias("SQL"); datasourceconnection.setDriver("SQL Server"); break; // OraclePlus 数据源 case 3: // 设置 Oracle 数据源连接所需要的参数 datasourceconnection.setEngineType(EngineType.ORACLEPLUS); datasourceconnection.setServer("Server"); datasourceconnection.setDatabase("Database"); datasourceconnection.setUser("User"); datasourceconnection.setPassword("Java"); datasourceconnection.setAlias("ORACLE"); break; // PostgreSQL 数据源 case 4: //设置 PostgreSQL 数据源连接所需要的参数 datasourceconnection.setEngineType(EngineType.POSTGRESQL); datasourceconnection.setServer("Server"); datasourceconnection.setDatabase("Database"); datasourceconnection.setUser("User"); datasourceconnection.setPassword("Java"); datasourceconnection.setAlias("PostgreSQL"); break; // DB2 数据源 case 5: //设置 DB2 数据源连接所需要的参数 datasourceconnection.setEngineType(EngineType.DB2); datasourceconnection.setDatabase("Database"); datasourceconnection.setUser("User"); datasourceconnection.setPassword("Java"); datasourceconnection.setAlias("DB2"); break; // GoogleMaps 数据源 case 6: //设置 GoogleMaps 数据源连接所需要的参数 datasourceconnection.setEngineType(EngineType.GOOGLEMAPS); datasourceconnection.setPassword("Key"); datasourceconnection.setAlias("GoogleMap"); break; // SuperMapCloud 数据源 case 7: //设置 SuperMapCloud 数据源连接所需要的参数 datasourceconnection.setEngineType(EngineType.SUPERMAPCLOUD); datasourceconnection.setDatabase("D:/Cache"); datasourceconnection.setAlias("SuperMapCloud"); break; // WMTS 服务 case 8: //设置连接 iServer 所发布的 WMTS 服务所需要的参数,其中必须调用setDriver("WMTS")方法设置驱动名称。 datasourceconnection.setEngineType(EngineType.OGC); datasourceconnection.setServer("http://localhost:8090/iserver/services/map-china400/wmts100"); datasourceconnection.setDatabase("D:/Cache"); datasourceconnection.setDriver("WMTS"); datasourceconnection.setAlias("WMTS"); // 其它情况 default: break; } // 打开数据源 Datasource datasource = workspace.getDatasources().open(datasourceconnection); if (datasource == null) { System.out.println("打开数据源失败"); return; } else { System.out.println("数据源打开成功!"); } // 释放工作空间资源 datasourceconnection.dispose(); workspace.dispose(); }
构造器和说明 |
---|
DatasourceConnectionInfo()
构造一个新的 DatasourceConnectionInfo 对象,默认的引擎类型为 UDB 引擎。
|
DatasourceConnectionInfo(String file,
String alias,
String password)
根据指定的参数来构造一个 DatasourceConnectionInfo 的新对象。
|
DatasourceConnectionInfo(String tns,
String database,
String alias,
String user,
String password)
根据指定的参数来构造一个 DatasourceConnectionInfo 的新对象。
|
DatasourceConnectionInfo(String server,
String driver,
String database,
String alias,
String user,
String password)
根据指定的参数来构造一个 DatasourceConnectionInfo 的新对象。
|
限定符和类型 | 方法和说明 |
---|---|
void |
dispose()
释放该对象所占用的资源。
|
boolean |
fromXML(String xml)
将指定 XML 字符串所表示的数据源的连接信息导入到当前的数据源连接信息对象中。
|
String |
getAlias()
返回数据源别名。
|
String |
getDatabase()
返回数据源连接的数据库名。
|
String |
getDriver()
返回数据源连接所需的驱动名称。
|
EngineType |
getEngineType()
返回数据源连接的引擎类型。
|
Map<String,String> |
getExtendAttribute()
获取数据源连接信息中已设置的扩展属性信息。
|
int |
getMaxConnPoolNum()
获取当前数据源的最大连接数。
|
String |
getPassword()
返回登录数据源连接的数据库或文件的密码。
|
String |
getServer()
返回数据库服务器名、文件名或服务地址。
|
String |
getUser()
返回登录数据库的用户名。
|
boolean |
isAutoConnect()
返回数据源是否自动连接数据。
|
boolean |
isOpenLinkTable()
返回一个布尔值指定是否把数据库中的其他非 SuperMap 数据表作为 LinkTable 打开。
|
boolean |
isReadOnly()
返回是否以只读方式打开数据源。
|
boolean |
loadFromDCF(String strPath)
将指定加密的DCF文件所表示的数据源连接信息载入当前数据源连接信息对象中。
|
static DatasourceConnectionInfo |
makeInstanceFormHandle(long handle)
根据指定的 handle 构建一个
DatasourceConnectionInfo 对象。 |
boolean |
saveAsDCF(String strPath)
将当前数据源连接信息对象保存为加密的DCF文件。
|
void |
setAlias(String value)
设置数据源别名。
|
void |
setAutoConnect(boolean value)
设置数据源是否自动连接数据。
|
void |
setDatabase(String value)
设置数据源连接的数据库名。
|
void |
setDriver(String value)
设置数据源连接所需的驱动名称。
|
void |
setEngineType(EngineType value)
设置数据源连接的引擎类型。
|
void |
setExtendAttribute(Map<String,String> exAttribute)
设置数据源连接时的扩展属性信息。
|
void |
setMaxConnPoolNum(int value)
设置当前数据源的最大连接数。
|
void |
setOpenLinkTable(boolean value)
已过时。
设置一个布尔值指定是否把数据库中的其他非 SuperMap 数据表作为 LinkTable 打开。
|
void |
setPassword(String value)
设置登录数据源连接的数据库或文件的密码。
|
void |
setReadOnly(boolean value)
设置是否以只读方式打开数据源。
|
void |
setServer(String value)
设置数据库服务器名、文件名或服务地址。
|
void |
setUser(String value)
设置登录数据库的用户名。
|
String |
toString()
将当前当前数据源连接信息对象输出为字符串。
|
String |
toXML()
将把当前数据源连接信息对象输出为 XML 字符串。
|
public DatasourceConnectionInfo()
public DatasourceConnectionInfo(String tns, String database, String alias, String user, String password)
tns
- Oracle 客户端配置连接名。database
- 数据库名称。alias
- 数据源别名。user
- 用户名。password
- 密码。public DatasourceConnectionInfo(String server, String driver, String database, String alias, String user, String password)
server
- 服务器名称或者 Web 数据源服务地址。driver
- 当采用 ODBC 连接时的驱动程序名称。database
- 数据库名称。alias
- 数据源的别名。user
- 用来登录数据库的用户名。password
- 用来登录数据库的密码。public String getAlias()
public void setAlias(String value)
value
- 数据源别名。public EngineType getEngineType()
UDB
)、Oracle 引擎(ORACLEPLUS
)、
SQL 引擎(SQLPlus
)、PostgreSQL 引擎(POSTGRESQL
)和 DB2 引擎(DB2
)等,
请参见 EngineType
类。EngineType
UDB
。public void setEngineType(EngineType value)
UDB
)、Oracle 引擎(ORACLEPLUS
)、
SQL 引擎(SQLPlus
)、PostgreSQL 引擎(POSTGRESQL
)和 DB2 引擎(DB2
)等,
请参见 EngineType
类。value
- 数据源连接的引擎类型。EngineType
public String getServer()
public void setServer(String value)
若用户将 EngineType
设置为 IMAGEPLUGINS
时,将此方法的参数设置为地图缓存配置文件(SCI)名称,则用户可以实现对地图缓存的加载。
value
- 数据库服务器名或文件名。public String getDatabase()
对于 GoogleMaps、SuperMapCloud、REST 、 MapWorld 和 WMTS 网络服务数据源,为其本地缓存路径。如果本地缓存路径没有设置,则返回一个空字符串。
public void setDatabase(String value)
value
- 数据源连接的数据库名。
对于 GoogleMaps、SuperMapCloud、REST 、 MapWorld 和 WMTS 网络服务数据源,为其本地缓存路径。如果不设置则为默认缓存路径。
public String getUser()
public void setUser(String value)
value
- 登录数据库的用户名。public String getPassword()
对于 GoogleMaps 数据源,如果打开的是基于早期版本的数据源,则返回的密码为用户在 Google 官网注册后获取的密钥。
public void setPassword(String value)
对于 GoogleMaps 数据源,如果打开的是基于早期版本的数据源,则需要输入密码,其密码为用户在 Google 官网注册后获取的密钥。
value
- 登录数据源连接的数据库或文件的密码。public String getDriver()
对于SQL Server 数据库,它使用 ODBC 连接,返回的驱动程序名为 SQL Server 或 SQL Native Client。
对于 iServer 发布的 WMTS 服务,返回的驱动名称为 WMTS。
public void setDriver(String value)
对于SQL Server 数据库,它使用 ODBC 连接,所设置的驱动程序名为 SQL Server 或 SQL Native Client。
对于 iServer 发布的 WMTS 服务,设置的驱动名称为 WMTS,并且该方法必须调用该方法设置其驱动名称。
value
- 数据源连接所需的驱动名称。public boolean isReadOnly()
public void setReadOnly(boolean value)
对于 UDB 数据源,如果其文件属性为只读的,那么必须将 DatasourceConnectionInfo.setReadOnly()
方法的参数设置为 true,才能打开数据源。
value
- 指定是否以只读方式打开数据源。public boolean isAutoConnect()
public void setAutoConnect(boolean value)
value
- 一个布尔指定数据源是否自动连接数据。public boolean isOpenLinkTable()
LinkTable 是只读的,并且不是通过创建的方式得到。
public void setOpenLinkTable(boolean value)
value
- 是否把数据库中的其他非 SuperMap 数据表作为 LinkTable 打开。true 代表作为 LinkTable 打开。public boolean fromXML(String xml)
xml
- 导入的数据源的连接信息的 xml 字符串。public String toXML()
public void dispose()
该方法仅限于 DatasourceConnectionInfo 的新建对象,对于从数据源对象中返回的数据源连接信息对象不可用。
public boolean saveAsDCF(String strPath)
strPath
- 保存为加密的DCF文件路径。public boolean loadFromDCF(String strPath)
strPath
- 指定加密的DCF文件的路径。public String toString()
public static DatasourceConnectionInfo makeInstanceFormHandle(long handle)
DatasourceConnectionInfo
对象。handle
- 指定的 handle 地址。DatasourceConnectionInfo
对象。public int getMaxConnPoolNum()
public void setMaxConnPoolNum(int value)
value
- 连接数。public Map<String,String> getExtendAttribute()
DatasourceConnectionInfo.setExtendAttribute(Map)
public void setExtendAttribute(Map<String,String> exAttribute)
exAttribute
- 扩展属性信息。当连接矢量文件时,可通过Toolkit.getExtendAttributeList(EngineType)
获取可以设置的扩展属性信息列表。Map exAttribute.put("ImportMode", "1")
。ExtendAttributeInfo
,
Toolkit.getVectorExtendAttributeList(FileFormat)
Copyright © 2021–2024 SuperMap. All rights reserved.