Administer > Transforming, loading, and extracting data > Overview of the mass load utilities > Load data using the mass load utility > Loading existing user data
Load user data
You can load user data to the WebSphere Commerce database tables by using the Massload utility, SQL, or access beans.
When loading user data into the database, load the following database tables:
Optionally, you can also load the following tables:
Use the following as a reference when loading these tables.
- MEMBER (MEMBER_ID( **1**), TYPE='U', STATE=1)
- USERS (USERS_ID=MEMBER.MEMBER_ID, DN ( **2**), REGISTERTYPE='R', PROFILETYPE=( **3**) , LANGUAGE_ID)
- USERREG (USERS_ID=USERS.USERS_ID, STATUS=1, LOGONID, SALT ( **4**), LOGONPASSWORD ( **5**), PASSWORDEXPIRED=0 )
- ADDRBOOK (MEMBER_ID=USERS.USERS_ID)
- ADDRESS (MEMBER_ID=USERS.USERS_ID, STATUS='P', NICKNAME=USERREG.LOGONID, SELFADDRESS=1 (**6**))
- MBRREL ( **7**)
- MBRROLE ( **8**)
Where:
- **1**
- The MEMBER_ID primary key space (KEYS table) is shared by the USERS, ORGENTITY, and MBRGRP tables.
- **2**
- The DN should be lower-case and in the following format: "uid=" + logonid + "," + parent_organization_DN"
- **3**
- Type 'C' is for consumer direct users; 'B' is for a business direct users. Consumer direct users are listed in the WebSphere Commerce Accelerator. B2B direct users are listed in the Organization Administration Console.
- **4**
- A random string that is unique to each user. This string is appended to the password before hashing.
- **5**
- The encrypted logon password that is generated when using the wcs_password utility, which takes the plain text password and SALT value as input values.
- **6**
- A user can only have one permanent self-address (SELFADDRESS=1, STATUS='P'). This is the address associated with the user's registration. Other permanent addresses in the user's address book should be have SELFADDRESS=0 and STATUS='P'. Any old addresses that have changed are marked temporary (STATUS='T').
- **7**
- One row in the MBRREL table should be created for each ancestor. For example, if you are creating a user under the default organization, then create one record to indicate that the parent (sequence=1) is the default organization, and the grandparent (sequence = 2) is the root organization
- **8**
- The MBRROLE table defines the roles that the user plays in the system. By default, we will want a user that registers to a store to have the Registered Customer role (-29) in the store's organization.
There are three different methods for loading data into the tables:
- Massload utility: Refer to the massload utility to load the user data.
- SQL: Use SQL to load the user data. The current MEMBER.MEMBER_ID value to use can be found by completing the following steps:
The MEMBER.MEMBER_ID and USERS.USERS_ID must be the same, and the USERS table primary key ranges from 1 to 6999999999999999999.
- Stop the WebSphere Commerce Server.
- After the SQL inserts are completed, load the KEYS table. You must load the KEYS table so that the WebSphere Commerce Server inserts using a primary key value greater that the ones that were used in the manual insert. Run the following SQL:
update keys set counter = (select max(users_id) from users) where tablename = 'users'
- Start the WebSphere Commerce Server. The next user_id that is used by WebSphere Commerce to create a new user is at the counter value +1.
- Access Beans: Use the following access beans:
- To populate the MEMBER, USERS and MBRREL tables, use the following access bean:
com.ibm.commerce.user.objects.UserAccessBeanIf you call the setParentMember() method on the UserAccessBean, it creates the rows in the MBRREL table automatically
- To populate the ADDRBOOK and ADDRESS tables, use the following access bean:
com.ibm.commerce.user.objects.AddressAccessBean
- To populate the MBRROLE table, use the following access bean:
com.ibm.commerce.user.objects.MemberRoleAccessBean
- To populate the USERPROF table, use the following access bean:
com.ibm.commerce.user.objects.UserProfileAccessBean
- To populate the BUSPROF table, use the following access bean:
com.ibm.commerce.user.objects.BusinessProfileAccessBean
- To populate the USERDEMO table, use the following access bean:
com.ibm.commerce.user.objects.DemographicsAccessBean
- To populate the MBRATTRVAL table, use one of the following access beans, depending on the data type:
com.ibm.commerce.user.objects.MemberAttributeStringValueAccessBean com.ibm.commerce.user.objects.MemberAttributeIntegerValueAccessBean com.ibm.commerce.user.objects.MemberAttributeFloatValueAccessBean com.ibm.commerce.user.objects.MemberAttributeDatetimeValueAccessBean