def createDBRole(connection, role):
    try:
        arcpy.AddMessage('Creating database role ' + role)
        arcpy.CreateRole_management(input_database=connection,
                                    grant_revoke='GRANT',
                                    role=role,
                                    user_name='')
        for i in range(arcpy.GetMessageCount()):
            arcpy.AddReturnMessage(i)
        arcpy.AddMessage("++++++++++++++++++")
    except:
        for i in range(arcpy.GetMessageCount()):
            arcpy.AddReturnMessage(i)
Example #2
0
    print("Creating the enterprise geodatabase")
    arcpy.CreateEnterpriseGeodatabase_management(platform, instance, database,
                                                 authentication, databaseAdmin,
                                                 databaseAdminPass, schema,
                                                 gdbAdmin, adminPass,
                                                 tablespace, authFile)

    # Once the database has been created we will create an admin
    # connection so that we can create users in it.
    print("Creating connection to geodatabase as the DBA user")
    adminConn = arcpy.CreateDatabaseConnection_management(r'<path_to_save_file>', '<file_name>.sde', platform, instance, authentication, \
                                                          databaseAdmin, databaseAdminPass,'', database, schema)

    # First create a few roles for data viewers and data editors.
    print("\tCreating the viewer and editor roles")
    arcpy.CreateRole_management(adminConn, 'viewers')
    arcpy.CreateRole_management(adminConn, 'editors')

    # Next create users and assign them to their proper roles.
    # Generate a list of users to be added as editors and a list to be added as viewers.
    print("\t\tCreating users")
    editors = ['jack', 'jill', 'larry', 'loretta']
    viewers = ['darryl', 'carol', 'rick', 'maggie']
    for user in editors:
        arcpy.CreateDatabaseUser_management(adminConn, 'DATABASE_USER', user,
                                            '<your_choice_of_password>',
                                            'editors')
    for user1 in viewers:
        arcpy.CreateDatabaseUser_management(adminConn, 'DATABASE_USER', user1,
                                            '<your_choice_of_password>',
                                            'viewers')
Example #3
0
# Create the geodatabase
# Full tool documentation: Data Management Toolbox < Geodatabase Administration Toolset
# https://pro.arcgis.com/en/pro-app/tool-reference/data-management/create-enterprise-geodatabase.htm
# different database platforms have different requirements so refer to documentation for 
# particulars to connect
arcpy.CreateEnterpriseGeodatabase_management('<your_platform>', 
                                             '<your_instance_name>', 
                                             '<database_name>', # see doc
                                             '<authentication_type>', # see doc
                                             '<your_dba_user_name>', 
                                             '<your_dba_password>', 
                                             '<sde_schema>', # see doc, only relevant to SQL Server 
                                             '<geodatabase_administrator_name>',
                                             '<geodatabase_administrator_password>', 
                                             '', r'<path_to_your_license_file>')

# Create database connection
arcpy.CreateDatabaseConnection_management(r'<full_path_to_connection_file>', '<file_name>.sde', '<platform>', '<your_instance_name>', '<authentication_type>', '<your_dba_user_name>', '<dba_password>', '<save_user_pass>', '<database>', 'schema')

# Create an editor role
arcpy.CreateRole_management(r'<full_path_to_connection_file>\<file_name>.sde', 'editor')

# Create list of users
userList = ['matt', 'tom', 'colin']

# Create users and assign to editor role
for user in userList:
    arcpy.CreateDatabaseUser_management(r'<full_path_to_connection_file>\<file_name>.sde', '<authentication_type>', user, '<your_choice_password>', 'editor')