Setting up the product library in an ArcSDE environment
Two different procedures are used to create and set up an ArcSDE geodatabase for the product library. One is used for setting up the product library on an ArcSDE geodatabase for Microsoft SQL Server Express licensed for ArcGIS Desktop (instance of SQL Server Express). The other is used for setting up the product library on an ArcSDE geodatabase licensed for ArcGIS Server Enterprise. The steps in this workflow are for setting up the product library on an ArcSDE geodatabase for Microsoft SQL Server Express licensed for ArcGIS Desktop, but additional information and links are provided for setting up the product library on an ArcSDE geodatabase licensed for ArcGIS Server Enterprise.
Adding a database server
This section describes how to add a database server connection under the Database Servers node in the Catalog window. This is a connection to a Microsoft SQL Server Express instance set up to store geodatabases. You can skip this section if you are using Oracle, SQL Server Enterprise, or another ArcSDE geodatabase licensed for ArcGIS Server Enterprise to store the geodatabase you are using as the product library.
You will need to install SQL Server Express, if you have not already, and enable it to store geodatabases.
- 启动 ArcMap,打开 Catalog 窗口,然后展开 Catalog 目录树中的“数据库服务器”节点。
- 双击添加数据库服务器。
-
In the Add Database Server dialog box, provide the name of the ArcSDE database server. This is in the form <server_name>\<instance_name>, where the server name is the name of the server on which SQL Server Express is installed and the instance name is the name of the SQL Server Express instance.
For example, if a database server is named SOPHIE\SQLEXPRESS, SOPHIE is the server name, and SQLEXPRESS is the instance name. Using 127.0.01 for the server name will avoid sourcing issues if multiple users are going to be accessing the product library.
- 单击确定。
服务器图标显示在 Catalog 目录树的数据库服务器下。
Creating the administrator database connection
If the product library is stored in an ArcSDE geodatabase licensed for ArcGIS Server Enterprise, you need to create an administrator database connection. If your product library is stored in SQL Server Express, you can skip this section, since you only need to add a database server connection (first section of this workflow).
If you want to create a database connection for SQL Server, go to Making a direct connection from ArcGIS Desktop to a geodatabase in SQL Server. If you want to create a database connection for Oracle, go to Making a direct connection from ArcGIS Desktop to a geodatabase in Oracle.
Creating an ArcSDE geodatabase
The server administrator needs to create a new geodatabase from Oracle, SQL Server, SQL Server Express or another enterprise database management system (DBMS) that can be used as the product library. The steps in this section are for creating an ArcSDE geodatabase for Microsoft SQL Server Express licensed for ArcGIS Desktop (SQL Server Express geodatabase). If you want to create a geodatabase from Oracle, SQL Server, or another ArcSDE geodatabase licensed for ArcGIS Server Enterprise, see the following topics for information:
- A quick tour of setting up a geodatabase in DB2
- A quick tour of setting up a geodatabase in Informix
- A quick tour of setting up a geodatabase in Oracle
- A quick tour of setting up a geodatabase in PostgreSQL
- A quick tour of setting up a geodatabase in SQL Server
Recommendations for Oracle databases
It is recommended that you ensure that the following parameter values are used when creating an Oracle database:
Parameter name |
Value |
---|---|
Configure with Database Enterprise Manager |
Enabled |
Shared memory management |
AUTOMATIC |
Character Sets |
Unicode (AL32UTF8) |
OPEN_CURSORS |
2000–10000 |
SESSION_CACHED_CURSORS |
50–150 |
pre_page_sge |
True |
The steps below are for creating an ArcSDE geodatabase for Microsoft SQL Server Express licensed for ArcGIS Desktop (an instance of SQL Server Express).
- 以服务器管理员身份登录,启动 ArcMap,然后打开目录 窗口。
- 在 Catalog 目录树中右键单击要在其中创建新地理数据库的数据库服务器。
- 单击新建地理数据库。
-
在地理数据库名称文本框中输入新地理数据库的名称。
名称必须以字母开头,不能包含空格或特殊字符(如 #、@ 或 *),并且与服务器名称组合时最大长度为 31 个字符。
- 如果要更改数据库文件的位置,请通过单击省略号按钮 (...) 并浏览到相应位置在地理数据库文件文本框中指定新位置。
- 在初始大小文本框中输入新地理数据库的大小。
-
从单位下拉菜单中选择 MB 或 GB,或使用默认大小 100 MB。
无论初始大小如何,地理数据库都会根据需要增大,最大可达到 4 GB。
注意:地理数据库的初始大小不能小于 SQL Server Express 实例中模型数据库的大小。模型数据库是所有新数据库的系统模板。模型数据库的大小决定了该 SQL Server Express 实例中创建的任何数据库的最小大小。如果尝试创建小于此最小大小的地理数据库,数据库创建将失败并返回以下错误消息:
创建此地理数据库时出错,CREATE DATABASE 命令失败。主文件至少必须为 <模型大小> 才能容纳模型数据库的副本。
- Click OK.
创建数据库文件和地理数据库架构时会显示进度条。完成后,新地理数据库会出现在“内容”选项卡和 Catalog 目录树中。
Creating geodatabase users
You can choose to add users to a geodatabase stored in SQL Server through Microsoft SQL Server Management Studio Express.
Learn how to add users for an Oracle database
Learn how to add Windows-authenticated users or groups to a SQL Server database
Learn how to add database-authenticated users to a SQL Server database
The steps below are for creating users for the product library geodatabase in ArcCatalog on a database server (an instance of SQL Server Express) and SQL Server.
- 以服务器管理员身份登录,启动 ArcMap,然后打开目录 窗口。
- 右键单击要添加用户或组的数据库服务器。
- 单击权限。
- 单击权限对话框中的添加用户。
-
指定在其中搜索用户或组的位置。
位置可以是本地计算机或域。
- 输入要添加的用户或组的名称。可以单击高级按钮进行更具体的查询以找到所需用户。
- 单击检查名称验证登录名是否有效。
- Click OK.
Granting geodatabase roles/permissions
A role needs to be assigned to the users that are going to be working with the product library so they can view or add components, information, and data to the product library. These permissions are at the geodatabase level, assigned separately from the product library permissions. The roles are assigned through ArcCatalog as permissions for users that are using a product library stored in SQL Server Express or SQL Server. For Oracle and any other ArcSDE geodatabase licensed for ArcGIS Server Enterprise, the role CKB_USERS must be created for the users to be recognized by the product library. This can be done by using the following statement:
CREATE ROLE CKB_USERS NOT IDENTIFIED
User names for the role are required for any users who are going to be working with the product library and need to read from or write to the product library tables and other components. The administrators are considered the owners of the data, so they already have this privilege.
Below are suggested user names and the permissions required for each level for Oracle (and SQL Server if using Microsoft SQL Server Management Studio Express).
For product library administrators, the following is suggested:
User type |
Role |
Oracle permissions |
SQL Server permissions |
---|---|---|---|
Data owner |
CONNECT |
|
|
For product library editors, the following is suggested:
User type |
Role |
Oracle permissions |
SQL Server permissions |
---|---|---|---|
Data editor/Data viewer |
|
CREATE SESSION |
CREATE TABLE |
The steps below are for granting roles/permissions on a database server (an instance of SQL Server Express), and SQL Server.
- 要授予用户对某一地理数据库的权限,请右键单击该地理数据库。
- 单击管理,然后单击权限。
- 从权限对话框中的列表选择所需用户或组。
-
Click the appropriate role:
- 无 - 未授予对地理数据库或地数据库中的数据集任何特定的访问权限。
- 只读 - 用户只能查看和选择数据。
- 读/写 - 用户可以在地理数据库中读取、写入和创建新数据集,也可以读取和写入现有数据集。
- 系统管理员 - 用户可以在特定的地理数据库中执行管理任务。
- 服务器管理员 - 此用户可管理数据库服务器。
- Click Apply.
Configuring the database in ArcSDE
You need to configure the MAXBLOBSIZE and TCPKEEPALIVE parameters for the ArcSDE geodatabase used as the product library. The product library can be set up in a central or local geodatabase. A central geodatabase is usually an ArcSDE geodatabase with Oracle, SQL Server, SQL Server Express, or another enterprise DBMS installed. A local geodatabase is usually an ArcSDE geodatabase with SQL Server Express installed locally to house and manage the product library.
The DBMS used for the geodatabase should be configured before the product library is set up with the default geometry storage. See geodatabase storage in relational databases or geodatabase parameters for more information.
The MAXBLOBSIZE value is -1 by default. However, if you are using Oracle or another enterprise DBMS, make sure that this value is set to -1 and the TCPKEEPALIVE value is set to 1. This command should be used from the command prompt of a machine where ArcSDE is installed.
For example:
sdeconfig -o alter -v MAXBLOBSIZE=-1-i <service> -u sde -p <sde_password>
For more information, see the ArcSDE Administration Command Reference.
You can download a Portable Document Format (PDF) version of the book from the ESRI Support Center Web site (login required): ArcSDE Server documentation
The ArcSDE documentation refers to the parameter name as Property Name in the command line examples.
Use the steps below if you are using SQL Server Express or SQL Server to configure the MAXBLOBSIZE and TCPKEEPALIVE parameters.
- Open SQL Server Management Studio Express.
- Click Connect on the Connect to Server dialog box that appears.
- Expand Databases, the geodatabase you are using for the product library, and Tables.
- Right-click on the SDE_server_config table and click Edit Top 200 rows.
- Find MAXBLOBSIZE in the prop_name field and change it to -1 in the num_prop_value field if it is another value.
-
Find TCPKEEPALIVE in the prop_name field and change it from 0 to 1 in the num_prop_value field.
警告:
If you are using a local geodatabase and you modify the parameters while the Catalog window is open, you need to refresh (or disconnect and reconnect to) your SQL Server Express instance to confirm that the geodatabase has the new settings. You can right-click the database server and click Refresh.
- Close SQL Server Management Studio Express.
Defining and upgrading the geodatabase as a product library
After the geodatabase has been created, various tables and feature classes that are part of the product library need to be added to it. This process can be completed in ArcMap.
The steps in this section are for defining and upgrading the geodatabase as a product library in ArcMap.
- Start ArcMap.提示:
If the ArcMap - Getting Started dialog box appears, you can open a new or existing map document. You can also check the Do not show this dialog box in the future check box and click Open.
- On the main menu, click Customize > Production > Production Properties.
The Production Properties dialog box appears.
-
If necessary, click Data Management.
-
Click the cell next to Workspace in the Product Library section and click the ellipsis (...) that appears.
The Please browse to the location of the Product Library Workspace dialog box appears.
- Navigate to the product library database.
-
Click Open.
The Upgrade Workspace dialog box appears.
-
Click Yes to upgrade the geodatabase you want to use as the product library.
The Product Library Workspace Upgrade window appears and displays a progress bar while the geodatabase is updated. The Production Properties dialog box appears once the process is complete.
- Click OK.
Granting privileges to product library components
All the tables in the product library need to have read/write privileges assigned to them, except the PCAT_PERMISSION table. The PCAT_PERMISSION table only needs read privileges assigned to it.
The permissions need to be assigned to the CKB_USERS role.
Both the administrator and other user accounts in the underlying database management system should have appropriate privileges and roles assigned to them. When you set up your connection to your spatial database, ensure you are connecting as the appropriate user.
- Start ArcCatalog.
-
Expand one of the following:
- Database Servers if using a SQL Server Express geodatabase
- Database Connections if using an Oracle, SQL Server, or another enterprise geodatabase
- Double-click the product library administrator connection geodatabase to connect to it.
- Select all tables except PCAT_PERMISSION, right-click, then click Privileges.
- Type CKB_USERS into the text box on the Privileges dialog box.
- Check the check box next to SELECT, UPDATE, INSERT, and DELETE.
- Click OK.
- Select PCAT_PERMISSION, right-click, then click Privileges.
- Type CKB_USERS into the text box on the Privileges dialog box.
- Check the check box next to SELECT.
- Click OK.
Versioning within product library
You need to register product library components for versioning to allow them to be editable.
You need to register the product library feature classes and tables for versioning.
- Start ArcCatalog.
-
Expand one of the following:
- Database Servers if using a SQL Server Express geodatabase
- Database Connections if using an Oracle, SQL Server, or another enterprise geodatabase
- Double-click the product library administrator connection geodatabase to connect to it.
-
Right-click each feature class in your product library and choose Register as Versioned.
Do not check the Register the selected objects with the option to move edits to base check box.
- Click OK.
-
Right-click each table in your product library and choose Register as Versioned.
Do not check the Register the selected objects with the option to move edits to base check box.
- Click OK.
Creating database connections for product library users
Database connections need to be created for the other product library users if the product library is stored in Oracle, SQL Server, or another ArcSDE geodatabase licensed through ArcGIS Server Enterprise. If your product library is stored in SQL Server Express, you can skip this section, since other users will only need to add a database server connection (first section of this workflow).
If you want to create a database connection for SQL Server, go to Making a direct connection from ArcGIS Desktop to a geodatabase in SQL Server. If you want to create a database connection for Oracle, go to Making a direct connection from ArcGIS Desktop to a geodatabase in Oracle.
For step 6, if using database authentication, type the user name of the product library user for which you want to create a database connection.
Once you have performed all the steps in this workflow, the product library workspace is ready for you to create the solution, product class, series, and users and user permissions. Other users still need to define the product library workspace in their client machine to be able to create and manage data and/or products.