Microsoft SQL Server和SQL Azure

备注

geoserver不内置支持SQL Server;必须通过扩展安装。继续 安装SQL Server扩展 有关安装的详细信息。

微软的 SQL Server 是具有空间功能的关系数据库。SQL Azure是Azure云解决方案中提供的数据库选项,在许多方面与SQL Server类似。

支持的版本

扩展支持SQL Server 2008-2019和SQL Azure。

安装SQL Server扩展

地理服务器文件

  1. 访问 website download 页面,找到您的版本,并下载: geoserver-2.24.x-sqlserver-plugin.zip

    警告

    确保与插件匹配(示例 2.24.x 以上)版本设置为Geoserver实例的版本。

  2. 将存档的内容提取到 WEB-INF/lib 地理服务器安装目录。

  3. 重新启动geoserver以加载扩展。

添加SQL Server数据库

正确安装扩展后 SQL Server 将在创建新数据存储时显示为选项。

../../_images/sqlservercreate.png

矢量数据源列表中的SQL Server

配置SQL Server数据存储

../../_images/sqlserverconfigure.png

配置SQL Server数据存储

host

仅限SQL Server实例主机名或IP地址。注意 server\instance 不接受表示法-如果您有一个非默认实例,请在下面指定端口。

port

SQL Server实例接受连接的端口。查看 note 下面。

database

要连接到的数据库的名称。如果连接到SQL Server的用户在用户配置中设置了“默认数据库”,则可能保留为空。

schema

从中访问表的数据库架构(可选)。

user

用来连接到数据库的用户名。

password

连接到数据库时要使用的密码。留空表示没有密码。

max connections

min connections

连接池配置参数。查看 数据库连接池 详细信息。如果您正在连接到SQL Azure,请确保设置 validate connections 标记为SQLAzure在很短的延迟后关闭非活动连接。

确定SQL Server实例使用的端口

通过使用其他软件连接到SQL Server实例,然后使用 netstat 显示网络连接的详细信息。在Windows PC上的以下示例中,端口为2646::

C:\>netstat -a | find "sql1"
TCP   DPI908194:1918   maittestsql1.dpi.nsw.gov.au:2646   ESTABLISHED

使用几何元数据表

只有通过数据检查,通过查看表中的第一行,SQL Server数据存储才能确定特定列的几何类型和本机SRID。当然,这很容易出错,并且只有在表中有数据时才有效。管理员可以通过手动创建描述每个几何列的几何元数据表来解决上述问题。它的存在通过名为 几何元数据表 (可以是简单的表名,也可以是模式限定的表名)。表具有以下结构(表名是灵活的,只需指定在数据存储连接参数中选择的一个)::

CREATE TABLE GEOMETRY_COLUMNS(
   F_TABLE_SCHEMA VARCHAR(30) NOT NULL,
   F_TABLE_NAME VARCHAR(30) NOT NULL,
   F_GEOMETRY_COLUMN VARCHAR(30) NOT NULL,
   COORD_DIMENSION INTEGER,
   SRID INTEGER NOT NULL,
   TYPE VARCHAR(30) NOT NULL,
   UNIQUE(F_TABLE_SCHEMA, F_TABLE_NAME, F_GEOMETRY_COLUMN),
   CHECK(TYPE IN ('POINT', 'LINESTRING', 'POLYGON', 'MULTIPOINT', 'MULTILINESTRING', 'MULTIPOLYGON', 'GEOMETRYCOLLECTION') ));

当表存在时,存储首先搜索要分类的每个几何列的信息,并且只有当表不包含任何信息时才返回数据检查。

Previous: Oracle