# This script creates DataSources in Weblogic configuration using Defined Dictionary of DS and already stored encrypted password
# What is interesting here that setEncrypted wlst command is not documented on Oracle pages
# DS Dictionary with DataSource:JNDIName Entries, coma separated
# We assume that we have already one DS created from the console an Password has been stored in
# setEncrypted(‘Password’, ‘Password_1301559772904′, ‘/opt/wls/weblogic/10.3/user_projects/cbd2Domain/WLSTScript-Recording-logConfig’, ‘/opt/wls/weblogic/10.3/user_projects/cbd2Domain/WLSTScript-Recording-logSecret’)
#
# start this script with execfile(‘/path/to/this/script.py’)
#
startEdit()
# Dictionary definition
DS={‘DSN1′:’JNDI1′,’DS2′:’JNDI2′,’DS3′:’JNDI3′}
for DSName, JNDI in DS.items():
print „DSName = ” + DSName
print „JNDI = ” + JNDI
cd(‘/’)
cmo.createJDBCSystemResource(DSName)
cd(‘/JDBCSystemResources/’+DSName+’/JDBCResource/’+DSName)
cmo.setName(DSName)
cd(‘/JDBCSystemResources/’+DSName+’/JDBCResource/’+DSName+’/JDBCDataSourceParams/’+DSName)
set(‘JNDINames’,jarray.array([String(JNDI)], String))
cd(‘/JDBCSystemResources/’+DSName+’/JDBCResource/’+DSName+’/JDBCDriverParams/’+DSName)
cmo.setUrl(‘jdbc:oracle:thin:@fdcicgcbdad01u.eur.nsroot.net:1541:UELCCBD2′)
cmo.setDriverName(‘oracle.jdbc.OracleDriver’)
setEncrypted(‘Password’, ‘Password_1301559772904′, ‘/opt/wls/weblogic/10.3/user_projects/cbd2Domain/WLSTScript-Recording-logConfig’, ‘/opt/wls/weblogic/10.3/user_projects/cbd2Domain/WLSTScript-Recording-logSecret’)
cd(‘/JDBCSystemResources/’+DSName+’/JDBCResource/’+DSName+’/JDBCConnectionPoolParams/’+DSName)
cmo.setTestTableName(‘SQL SELECT 1 FROM DUAL\r\n\r\n\r\n’)
cmo.setTestConnectionsOnReserve(true)
cd(‘/JDBCSystemResources/’+DSName+’/JDBCResource/’+DSName+’/JDBCDriverParams/’+DSName+’/Properties/’+DSName)
cmo.createProperty(‘user’)
cd(‘/JDBCSystemResources/’+DSName+’/JDBCResource/’+DSName+’/JDBCDriverParams/’+DSName+’/Properties/’+DSName+’/Properties/user’)
cmo.setValue(‘uelccbd’)
cd(‘/JDBCSystemResources/’+DSName+’/JDBCResource/’+DSName+’/JDBCDataSourceParams/’+DSName)
cmo.setGlobalTransactionsProtocol(‘OnePhaseCommit’)
cd(‘/SystemResources/’+DSName)
set(‘Targets’,jarray.array([], ObjectName))
set(‘Targets’,jarray.array([ObjectName('com.bea:Name=cbd2Cluster,Type=Cluster')], ObjectName))
save()
activate()