在远程 SQL Server 数据库中安装 ST_Raster 类型

如果 ArcSDE 和 SQL Server 安装在不同的服务器上,请按照如下说明创建 ST_Raster 程序集并配置其访问权限:

步骤:
  1. 登录到 SQL Server 远程主机。
  2. 如果 SQL Server 安装在不同于 ArcSDE 服务器的操作系统 (OS) 的 Windows 操作系统上(例如,ArcSDE 服务器安装在 32 位 Windows 上,SQL Server 安装在 64 位 Windows 上),请在 SQL Server 服务器上安装 ArcSDE for SQL Server 以获取 st_raster、sde、几何、投影引擎和 tiff 库。
  3. 在 SQL Server 服务器上创建用于保存库的文件夹。

    确保 SQL Server 数据库具有访问此文件夹的权限。

  4. 将文件夹的绝对路径添加到系统路径中。
  5. 将 libst_raster_sql.dll、sde.dll、sg.dll、pe.dll 和 libtiff.dll 复制到步骤 3 中创建的 SQL Server 文件夹中。
  6. 在 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 
  7. 如果在 SQL Server 计算机上安装了 ArcSDE for SQL Server,请将其卸载。
  8. 登录到 ArcSDE 服务器。
  9. 运行带 install_st_raster 操作的 sdesetup 命令。
    sdesetup -o install_st_raster -d SQLSERVER
    -D ssgdb -s instance1
    注意注意:

    SQL Server 的多重空间数据库地理数据库模型不支持 ST_Raster。任何名为 sde 的数据库都被视为多重空间数据库。因此,名为 sde 的数据库不支持 ST_Raster。

  10. 使用 SQL Server Management Studio,以用于访问 ArcSDE 数据而创建的任意用户身份进行连接,通过执行以下 SELECT 语句来测试 ST_Raster 类型的安装:
    SELECT <dbo or sde>.st_raster_util_getVersion();

    该查询应该至少返回 1000 条记录。

  11. 在 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

3/7/2012