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扩展¶
地理服务器文件¶
访问 website download 页面,找到您的版本,并下载: geoserver-2.24.x-sqlserver-plugin.zip
警告
确保与插件匹配(示例 2.24.x 以上)版本设置为Geoserver实例的版本。
将存档的内容提取到
WEB-INF/lib
地理服务器安装目录。重新启动geoserver以加载扩展。
添加SQL Server数据库¶
正确安装扩展后 SQL Server
将在创建新数据存储时显示为选项。

矢量数据源列表中的SQL Server¶
配置SQL Server数据存储¶

配置SQL Server数据存储¶
|
仅限SQL Server实例主机名或IP地址。注意 |
|
SQL Server实例接受连接的端口。查看 note 下面。 |
|
要连接到的数据库的名称。如果连接到SQL Server的用户在用户配置中设置了“默认数据库”,则可能保留为空。 |
|
从中访问表的数据库架构(可选)。 |
|
用来连接到数据库的用户名。 |
|
连接到数据库时要使用的密码。留空表示没有密码。 |
|
连接池配置参数。查看 数据库连接池 详细信息。如果您正在连接到SQL Azure,请确保设置 |
确定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') ));
当表存在时,存储首先搜索要分类的每个几何列的信息,并且只有当表不包含任何信息时才返回数据检查。