在远程 SQL Server 数据库中安装 ST_Raster 类型
如果 ArcSDE 和 SQL Server 安装在不同的服务器上,请按照如下说明创建 ST_Raster 程序集并配置其访问权限:
步骤:
- 登录到 SQL Server 远程主机。
- 如果 SQL Server 安装在不同于 ArcSDE 服务器的操作系统 (OS) 的 Windows 操作系统上(例如,ArcSDE 服务器安装在 32 位 Windows 上,SQL Server 安装在 64 位 Windows 上),请在 SQL Server 服务器上安装 ArcSDE for SQL Server 以获取 st_raster、sde、几何、投影引擎和 tiff 库。
-
在 SQL Server 服务器上创建用于保存库的文件夹。
确保 SQL Server 数据库具有访问此文件夹的权限。
- 将文件夹的绝对路径添加到系统路径中。
- 将 libst_raster_sql.dll、sde.dll、sg.dll、pe.dll 和 libtiff.dll 复制到步骤 3 中创建的 SQL Server 文件夹中。
-
在 SQL Server 数据库中使用位于 %SDEHOME%\tools\sqlserver 下的 createAssembly.sql 文件创建 ST_Raster 库的程序集。
此程序集必须由 sysadmin 用户创建。
以下是执行脚本的 SQL 命令示例:
sqlcmd -U sa -P <sa_pwd> -S <ss_server_name> -d <ArcSDE_admin_DB_name> -v st_raster_path="<full_lib_path>\libst_raster_sql.dll" -v admindb='<ArcSDE_admin_DB_name> ' -i createAssembly.sql
- 如果在 SQL Server 计算机上安装了 ArcSDE for SQL Server,请将其卸载。
- 登录到 ArcSDE 服务器。
- 运行带 install_st_raster 操作的 sdesetup 命令。
sdesetup -o install_st_raster -d SQLSERVER -D ssgdb -s instance1
注:SQL Server 的多重空间数据库地理数据库模型不支持 ST_Raster。任何名为 sde 的数据库都被视为多重空间数据库。因此,名为 sde 的数据库不支持 ST_Raster。
-
使用 SQL Server Management Studio,以用于访问 ArcSDE 数据而创建的任意用户身份进行连接,通过执行以下 SELECT 语句来测试 ST_Raster 类型的安装:
SELECT <dbo or sde>.st_raster_util_getVersion();
该查询应该至少返回 1000 条记录。
-
在 SDE_dbtune 表中创建 ST_RASTER 配置关键字并将 RASTER_STORAGE 参数设置为 ST_RASTER,或者将 DEFAULTS 关键字下的 RASTER_STORAGE 参数设置为 ST_RASTER。
- 如果要使用 ArcGIS 软件将大部分或全部栅格数据创建为 ST_Raster 类型,可将 DEFAULTS 关键字下的 RASTER_STORAGE 参数值设置为 ST_RASTER。
sdedbtune -o alter -k DEFAULTS -P RASTER_STORAGE -v ST_RASTER -i sde:sqlserver:serverb\ssdb -D gisdb -u sde
- 如果仅要创建一些具有 ST_Raster 存储的栅格数据,可以将 ST_RASTER 关键字添加到 SDE_dbtune 表,并包括设置为 ST_RASTER 的 RASTER_STORAGE 参数和 UI_TEXT 参数。
sdedbtune -o insert -k ST_RASTER -P RASTER_STORAGE -v ST_RASTER -i sde:sqlserver:serverb\ssdb -D gisdb -u sde sdedbtune -o insert -k ST_RASTER -P UI_TEXT -v UI_TEXT -i sde:sqlserver:serverb\ssdb -D gisdb -u sde
- 如果要使用 ArcGIS 软件将大部分或全部栅格数据创建为 ST_Raster 类型,可将 DEFAULTS 关键字下的 RASTER_STORAGE 参数值设置为 ST_RASTER。
7/10/2012