要从 ArcGIS 客户端连接到 Microsoft SQL Server,在 ArcGIS 客户端计算机上安装所支持的 Microsoft SQL Server ODBC 驱动程序,然后从 ArcGIS 客户端连接至数据库。
在所有 ArcGIS 客户端计算机上配置了 SQL Server ODBC 驱动程序之后,请在 ArcGIS Pro 或 ArcMap 中创建数据库连接文件。如需发布引用 SQL Server 数据库中数据的 ArcGIS Server web 服务,请将数据库连接文件注册到您的 ArcGIS Server 站点。
从 ArcGIS Pro 连接
要从 ArcGIS Pro 工程连接到 SQL Server,请在 ArcGIS Pro 计算机上安装 Microsoft ODBC driver for SQL Server,并创建数据库连接。然而,首先要确保 SQL Server 实例可接受来自远程计算机的连接。
配置实例以允许连接
默认情况下,未将 SQL Server 实例配置为允许从其他计算机中连接。如果您有新安装的 SQL Server,请确保该 SQL Server 服务正在运行并在监听正确的端口。有关详细信息,请参阅 Microsoft SQL Server 文档。
安装 ODBC driver for SQL Server
从 Microsoft 下载中心或 My Esri 获取 SQL Server ODBC driver for Microsoft。确保获得的 Microsoft ODBC 驱动程序支持要连接的 SQL Server 版本。在所有已安装 ArcGIS Pro 的计算机上安装此驱动程序。
连接到数据库
使用数据库连接对话框或创建数据库连接工具添加数据库连接。使用数据库连接对话框的步骤如下所述。
- 右键单击目录窗格中的数据库,然后单击新建数据库连接。
- 从数据库平台下拉列表中选择 SQL Server。
- 在数据源文本框中键入 SQL Server 实例名称。
例如,如果使用默认的 SQL Server 实例,则可在数据源文本框中指定实例名称或服务器的 IP 地址。如果指定 IPV6 地址,则要用括号将地址括起来。例如,如果服务器的 IPV6 地址是 2000:ab1:0:2:f333:c432:55f6:d7ee,请在数据源文本框中输入 [2000:ab1:0:2:f333:c432:55f6:d7ee]。
如果数据库监听的不是默认端口 (1433),请将端口号包括在实例内。例如,如果 SQL Server 实例为 basset\spatial,且监听端口 61000,请在数据源文本框中输入 basset\spatial,61000。
如果 Microsoft Azure SQL Database 实例名称为 cloudy4u.database.windows.net,请在数据源文本框中输入 cloudy4u.database.windows.net。如果使用名为 terra\gis 的 SQL Server 实例,请在实例文本框中输入 terra\gis。
- 选择在连接至数据库时使用的身份验证类型:数据库身份验证或操作系统身份验证。
- 如果选择操作系统身份验证,则不需要输入用户名和密码,系统会通过用于登录到操作系统的用户名和密码建立连接。如果操作系统使用的登录信息不能用作数据库的登录信息,连接将失败。
如果选择数据库身份验证,则必须分别在用户名和密码文本框中提供有效的数据库用户名和密码。用户名最长为 30 个字符。
如果不希望将登录信息保存为连接的一部分,请取消选中保存用户名和密码;这样做可帮助保持数据库的安全性。但是,如果执行此操作,则系统会在每次连接时提示您提供用户名和密码。另请注意,对于为 ArcGIS 服务提供数据库或地理数据库访问的连接文件,或希望使用目录搜索找到通过此连接文件访问的数据,都必须选中保存用户名和密码。
注:
- 对于使用数据库身份验证为 ArcGIS web 服务提供数据库访问的连接文件,或希望使用搜索 ArcGIS Pro 找到通过此连接文件访问的数据,都必须选中保存用户名和密码。
- 在 ArcGIS 外部,您可以在 SQL Server 中创建包含特殊字符的用户名。使用时,必须将这些用户名用分隔符分隔开来。当用户名传递到 SQL Server 时,ArcGIS 会自动为其添加分隔符;您无需在用户名中添加分隔符。例如,如果您的用户名是 map.user,则在用户名文本框中键入 map.user,而并非 "map.user"。有关常规标识符和分隔标识符的详细信息,请参阅 SQL Server 文档。
- 在数据库文本框中,输入或选择想要在 SQL Server 或 Azure SQL Database 实例中连接的特定数据库的名称。数据库名称最多包含 31 个字符。
提示:
连接到 SQL Server 实例时,数据库名称为可选项,但只有在您想要连接到的数据库已指定为 SQL Server 实例中的默认数据库时才不提供数据库名称。连接到 Azure SQL Database 时,数据库名称为必填项。
- 单击确定进行连接。
从 ArcMap 进行连接
要从 ArcMap 连接到 SQL Server 中的数据库或地理数据库,需在 ArcMap 计算机上安装 Microsoft ODBC driver for SQL Server,然后在目录树中创建一个连接文件。然而,首先要确保 SQL Server 实例可接受来自远程计算机的连接。
配置实例以允许连接
默认情况下,未将 SQL Server 实例配置为允许从其他计算机中连接。如果您有新安装的 SQL Server,请确保该 SQL Server 服务正在运行并在监听正确的端口。有关详细信息,请参阅 Microsoft SQL Server 文档。
安装 ODBC driver for SQL Server
从 Microsoft 下载中心或 My Esri 获取 SQL Server ODBC driver for Microsoft。确保获得的 Microsoft ODBC 驱动程序支持要连接的 SQL Server 版本。在所有已安装 ArcMap 的计算机上安装此驱动程序。
如果要在 64 位的操作系统上安装此驱动程序,可运行 64 位可执行文件;将同时安装 32 位和 64 位文件。如果在 64 位操作系统上运行 32 位安装程序,则无法正常运行。
连接到数据库
您可以通过在 ArcMap 或 ArcCatalog 中目录树的数据库连接节点下添加数据库连接,或使用创建数据库连接工具连接到 SQL Server 中的数据库或地理数据库。
使用数据库连接对话框的步骤如下所述。
- 在 ArcMap 或 ArcCatalog 的目录树中,展开数据库连接,然后双击添加数据库连接。
- 从数据库平台下拉列表中选择 SQL Server。
- 在实例文本框中键入 SQL Server 实例名称。
例如,如果使用默认的 SQL Server 实例,则可在实例文本框中指定实例名称或服务器的 IP 地址。如果指定 IPV6 地址,则要用括号将地址括起来。例如,如果服务器的 IPV6 地址是 2000:ab1:0:2:f333:c432:55f6:d7ee,请在实例文本框中输入 [2000:ab1:0:2:f333:c432:55f6:d7ee]。
如果数据库监听的不是默认端口 (1433),请将端口号包括在实例内。例如,如果 SQL Server 实例为 basset\spatial,且监听端口 61000,请在实例文本框中输入 basset\spatial,61000。
如果 Azure SQL Database 实例名称为 cloudy4u.database.windows.net,请在实例文本框中输入 cloudy4u.database.windows.net。如果使用名为 terra\gis 的 SQL Server 实例,请在实例文本框中输入 terra\gis。
注:
实例文本框中需要附加信息才能连接到高可用性 SQL Server 数据库。
- 选择在连接至数据库时使用的身份验证类型:数据库身份验证或操作系统身份验证。
- 如果选择操作系统身份验证,则不需要输入用户名和密码,系统会通过用于登录到操作系统的用户名和密码建立连接。如果操作系统使用的登录信息不能用作数据库的登录信息,连接将失败。
如果选择数据库身份验证,则必须分别在用户名和密码文本框中提供有效的数据库用户名和密码。用户名最长为 30 个字符。
如果不希望将登录信息保存为连接的一部分,请取消选中保存用户名和密码;这样做可帮助保持数据库的安全性。但是,如果执行此操作,则系统会在每次从桌面客户端连接时提示您提供用户名和密码。
注:
- 对于为 ArcGIS 服务提供数据库访问的连接文件,或希望使用搜索 ArcGIS Desktop 找到通过此连接文件访问的数据,都必须选中保存用户名和密码。
- 在 ArcGIS 外部,您可以在 SQL Server 中创建包含特殊字符的用户名。使用时,必须将这些用户名用分隔符分隔开来。当用户名传递到 SQL Server 时,ArcGIS 会自动为其添加分隔符;您无需在用户名中添加分隔符。例如,如果您的用户名是 map.user,则在用户名文本框中键入 map.user,而并非 "map.user"。有关常规标识符和分隔标识符的详细信息,请参阅 SQL Server 文档。
- 在数据库文本框中,输入或选择想要在 SQL Server 或 Azure SQL Database 实例中连接的特定数据库的名称。数据库名称最多包含 31 个字符。
提示:
连接到 SQL Server 实例时,数据库名称为可选项,但只有在您想要连接到的数据库已指定为 SQL Server 实例中的默认数据库时才不提供数据库名称。连接到 Azure SQL Database 时,数据库名称为必填项。
在以下示例中,使用数据库身份验证连接到 SQL Server 实例服务器 spatialdata 中的数据库 server1\ss08r2。
- 单击确定进行连接。
文件的创建位置为 \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog。
可以将连接移动到另一位置;只需确保需要建立连接的用户和应用程序有权读取放置连接文件的目录。
如果需要将此连接文件中的数据用作服务(如地理处理和地理编码服务)源,则可能需要将连接文件置于网络上的某个共享位置。有关共享连接文件的详细信息,请参阅使数据可供 ArcGIS Server 访问。
从 ArcGIS Server 进行连接
如果 SQL Server 和 ArcGIS Server 在不同的计算机上运行,请在 Microsoft 站点中的所有计算机上安装 SQL Server ODBC driver for ArcGIS Server。然而,首先要确保将 SQL Server 实例配置为可接受远程连接。
配置实例以允许连接
默认情况下,未将 SQL Server 实例配置为允许从其他计算机中连接。如果您有新安装的 SQL Server,请确保该 SQL Server 服务正在运行并在监听正确的端口。有关详细信息,请参阅 Microsoft SQL Server 文档。
安装 ODBC driver for SQL Server
如果已在不同计算机上安装 ArcGIS Server 和 SQL Server,则您必须在 Microsoft 站点中的每台计算机上安装 64 位 SQL Server ODBC driver for ArcGIS Server。可从 Microsoft 下载中心获得并安装驱动程序。确保获得的 Microsoft ODBC 驱动程序支持 SQL Server 站点所要连接的 ArcGIS Server 版本。
注:
在 ArcGIS Server 上从 Ubuntu 连接到受支持版本的 SQL Server 时,除了 ODBC 驱动程序之外,还必须在所有 Microsoft 计算机上安装 ArcGIS Server unixodbc-dev 软件包。
注册数据库
如果希望发布到 ArcGIS Server 的服务访问 SQL Server 中数据库或地理数据库的数据,则必须将数据库注册到您的 ArcGIS Server 站点。有关说明,请参阅 ArcGIS Pro 帮助中的管理注册的数据存储,ArcGIS Enterprise 门户用户帮助中的使用 Server Manager 将数据注册到 ArcGIS Server 或添加项目。