Index by: file name |
procedure name |
procedure call |
annotation
createDataSource_proc.tcl
(annotations | original source)
#
# Create Datasource Proc.
#
####################################################################
# Patrick Finnegan 11/01/2005. V1.
####################################################################
proc createDataSource { serverName dataSourceName dbDescription portNumber driverType authDataAlias jndiName dbDriver } {
global AdminConfig
putsLog "proc - [info level 0 ]"
set propertiesArray(serverName) $serverName
set propertiesArray(dataSourceName) $dataSourceName
set propertiesArray(dbDescription) $dbDescription
set propertiesArray(portNumber) $portNumber
set propertiesArray(driverType) $driverType
set propertiesArray(authDataAlias) $authDataAlias
set propertiesArray(jndiName) $jndiName
set propertiesArray(dbDriver) $dbDriver
putsLog "properties are.................."
foreach { a b } [ array get propertiesArray ] {
putsLog [ format "%-25s %s" "$a" "$b" ]
}
set dataSources [ $AdminConfig list DataSource ]
putsLog "Installed datasources are................"
showList $dataSources
# get attribute name of each dataSource and add to a list.
foreach i $dataSources { lappend nameList [ $AdminConfig showAttribute $i name ] }
catch { lsearch $nameList $dataSourceName } r
if { $r == -1 } {
set continue true
} else {
putsLog "datasource $dataSourceName already exists"
if { [ catch { deleteDataSource $dataSourceName } r ] == 0 } {
putsLog "datasource $dataSourceName deleted successfully"
} else {
return -code error $r
}
}
if { [ catch { setProperties $authDataAlias $dbDescription $dataSourceName $jndiName } r ] == 0 } {
set dataSourceAttributes $r
} else {
return -code error $r
}
# install the datasource under the database driver id with general properties.
if { [ catch { $AdminConfig getid /JDBCProvider:$dbDriver/ } r ] == 0 } {
putsLog "db2 driver is $r"
set jdbcDriverId $r
} else {
return -code error $r
}
#puts "$AdminConfig create DataSource $jdbcDriverId $dataSourceAttributes"
if { [ catch { $AdminConfig create DataSource $jdbcDriverId $dataSourceAttributes } r ] == 0 } {
putsLog "datasource $dataSourceName created successfully"
} else {
putsLog "ERROR: failed to create $dataSourceName"
return -code error $r
}
# get the id of the newly created datasource
if { [ catch { $AdminConfig getid /DataSource:$dataSourceName/ } r ] == 0 } {
putsLog "dataSource id is $r"
set dataSourceId $r
} else {
return -code error $r
}
# create the propertySetId for the datasource.
set propertySetId [ $AdminConfig create J2EEResourcePropertySet $dataSourceId {} ]
# create the properties for the property set.
# setCustomProps returns a list.
foreach e [ setCustomProps $dataSourceName $portNumber $dbDescription ] {
$AdminConfig create J2EEResourceProperty $propertySetId $e
}
putsLog "*** The End ***"
}
####################################################################
# Set general properties for DataSource.
####################################################################
proc setProperties { authDataAlias dbDescription dataSourceName jndiName } {
global alias
putsLog "proc - [info level 0 ]"
set propertiesArray(authDataAlias) $authDataAlias
set propertiesArray(dataSourceName) $dataSourceName
set propertiesArray(dbDescription) $dbDescription
set propertiesArray(jndiName) $jndiName
putsLog "properties are.................."
foreach { a b } [ array get propertiesArray ] {
putsLog [ format "%-25s %s" "$a" "$b" ]
}
set statementCacheSize [ list statementCacheSize 100 ]
set datasourceHelperClassname [ list datasourceHelperClassname "com.ibm.websphere.rsadapter.OracleDataStoreHelper" ]
set relationalResourceAdapter [ list relationalResourceAdapter "WebSphere Relational Resource Adapter" ]
set authDataAlias [ list authDataAlias $authDataAlias ]
set name [ list name $dataSourceName ]
set jndiName [ list jndiName $jndiName ]
set description [ list description $dbDescription]
set agedTimeout [ list agedTimeout 0 ]
set connectionTimeout [ list connectionTimeout 1800 ]
set maxConnections [ list maxConnections 20 ]
set minConnections [ list minConnections 1 ]
set purgePolicy [ list purgePolicy "FailingConnectionOnly"]
set reapTime [ list reapTime 180 ]
set unusedTimeout [ list unusedTimeout 1800 ]
set connectionPoolList [list $agedTimeout \
$connectionTimeout \
$maxConnections \
$minConnections \
$purgePolicy \
$reapTime \
$unusedTimeout ]
set attributesList [ list $statementCacheSize \
$name \
$authDataAlias \
$jndiName \
$datasourceHelperClassname \
$description \
[ list connectionPool $connectionPoolList ] ]
return $attributesList
}
####################################################################
# Set custom properties.
####################################################################
proc setCustomProps {dataSourceName portNumber dbDescription} {
putsLog "proc - [info level 0 ]"
set name [ list name databaseName ]
set required [ list required true ]
set type [ list type "java.lang.String" ]
set value [ list value $dataSourceName ]
set custom1 [ list $name $required $type $value ]
set name [ list name enableSQLJ ]
set required [ list required false ]
set type [ list type java.lang.Boolean ]
set value [ list value false ]
set custom2 [ list $name $required $type $value ]
set name [ list name description ]
set required [ list required false ]
set type [ list type java.lang.String ]
set value [ list value $dbDescription ]
set custom3 [ list $name $required $type $value ]
set name [ list name portNumber ]
set required [ list required false ]
set type [ list type java.lang.Integer ]
set value [ list value $portNumber ]
set custom4 [ list $name $required $type $value ]
set name [ list name connectionAttribute ]
set required [ list required false ]
set type [ list type java.lang.String ]
set value [ list value cursorhold=0 ]
set custom5 [ list $name $required $type $value ]
set name [ list name loginTimeout ]
set required [ list required false ]
set type [ list type java.lang.Integer ]
set value [ list value 0 ]
set custom6 [ list $name $required $type $value ]
set name [ list name enableMultithreadedAccessDetection]
set required [ list required false ]
set type [ list type java.lang.Boolean ]
set value [ list value false ]
set custom7 [ list $name $required $type $value ]
set name [ list name preTestSQLString ]
set required [ list required false ]
set type [ list type java.lang.String ]
set value [ list value " " ]
set custom8 [ list $name $required $type $value ]
set customPropsList [ list $custom1 $custom2 $custom3 $custom4 $custom5 $custom6 $custom7 $custom8 ]
return $customPropsList
}
Index by: file name |
procedure name |
procedure call |
annotation
File generated 2007-08-07 at 13:42.