Create cloudscape database.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167  | @echo off
setlocal
echo ###################################################
echo # Create db on %computername%
echo ###################################################
set dbDir=D:\CloudScapeDatabases\yourDB
set CLASSPATH=%CLASSPATH%;d:\IBM\Cloudscape_10.1\lib\derby.jar
set CLASSPATH=%CLASSPATH%;d:\IBM\Cloudscape_10.1\lib\derbyclient.jar
set CLASSPATH=%CLASSPATH%;d:\IBM\Cloudscape_10.1\lib\derbynet.jar
set CLASSPATH=%CLASSPATH%;d:\IBM\Cloudscape_10.1\lib\derbytools.jar
d:\tclblendSun\bin\jtclsh.bat D:\scripts\TCL\JACL\cloudscape\createCloudScapeDB.tcl %dbDir%
endlocal
==============================================================
# 
# create cloudscape db 
####################################################################
# Patrick Finnegan 15/11/2005.  V1. 
####################################################################
####################################################################
# Get Cloudscape connection.
####################################################################
proc createDB { dbName traceFile } {
   puts "\n**********"
   puts "createDB"
   puts "**********\n"
   global env 
   global null
   # load client driver
   java::call Class forName org.apache.derby.jdbc.ClientDriver
   append url jdbc:derby
   append url ":" 
   append url $dbName
   append url ";" 
   append url create\=true
   append url ";" 
   append url traceFile=$traceFile
   puts "\n connection URL is:  $url\n"   
   java::try {
       
       set ConnectionI [ java::call DriverManager getConnection $url ] 
   } catch {SQLException SQLExceptionI } {
     catchSqlException $SQLExceptionI 
         
   } catch {TclException e } {
       puts "TCl Exception during Create Database: $url"
       return -code error
   } 
}
####################################################################
# proc - sqlException. 
####################################################################
proc catchSqlException { SQLExceptionI } {
   global AdminConfig 
   global AdminControl
   global Help
   global null
   puts "\n**********"
   puts "catchSqlException"
   puts "**********\n"
   set sqlCode       [ $SQLExceptionI toString         ]
   set sqlMessage    [ $SQLExceptionI getMessage       ]
   set errorCode     [ $SQLExceptionI getErrorCode     ] 
   set sqlState      [ $SQLExceptionI getSQLState      ] 
   if { $sqlCode    != $null } { lappend msgList "sql code is:       \t$sqlCode" }
   if { $sqlMessage != $null } { lappend msgList "sql message is:    \t$sqlMessage" }
   if { $errorCode  != $null } { lappend msgList "error code is:     \t$errorCode" }
   if { $sqlState   != $null } { lappend msgList "sql state is:      \t$sqlState\n" }
   while { $SQLExceptionI != $null } {
       
     puts "\nget SQL Exception\n" 
     set sqlCode       [ $SQLExceptionI toString         ]
     set sqlMessage    [ $SQLExceptionI getMessage       ]
     set errorCode     [ $SQLExceptionI getErrorCode     ] 
     set sqlState      [ $SQLExceptionI getSQLState      ] 
     if { $sqlCode       != $null } { lappend msgList "sql code is:       \t$sqlCode"       }
     if { $sqlMessage    != $null } { lappend msgList "sql message is:    \t$sqlMessage "   }
     if { $errorCode     != $null } { lappend msgList "error code is:     \t$errorCode"     }
     if { $sqlState      != $null } { lappend msgList "sql state is:      \t$sqlState"      }
     set SQLExceptionI [ $SQLExceptionI getNextException ]
   }
   return -code error $msgList
}
####################################################################
# Main Control.
####################################################################
puts "\n argc = $argc \n"
if {$argc < 1} {
        return -code error "\nerror - not enough arguments supplied.\nSupply db directory."
}
set dbName    [ lindex $argv 0 ] 
append traceFile [ file tail $dbName ] _log\.txt  
set traceFile [ file join $dbName $traceFile ]
puts "\n Database Name:\t $dbName"  
puts " Log File:\t $traceFile\n"  
#call java package 
package require java
# import required classes 
java::import java.sql.Connection
java::import java.sql.DriverManager
java::import java.sql.ResultSet
java::import java.sql.SQLWarning
java::import java.sql.Statement
java::import java.sql.ResultSetMetaData 
java::import org.apache.derby.drda.NetworkServerControl
java::import org.apache.derby.jdbc.ClientDriver
puts "\nimported classes are:\n"
foreach i [java::import] {
   
  puts [ format "%-5s %-50s" " " $i ] 
}
# build tcl classpath
set null [ java::null ]
if { [ catch { createDB $dbName $traceFile } r ] == 0 } {
    set doNothing true 
} else {
    puts $r 
    exit 1   
}
 | 
This script uses the Cloudscape Java API to create a Cloudscape database by specifying "create=true" in the connection URL.
Requires Tclblend.
Tclblend: http://tcljava.sourceforge.net/docs/website/index.html. Tclblend Windows Build Instructions: http://wiki.tcl.tk/9993
    Tags: database
  
  
      
Download
Copy to clipboard