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
|
-- ----------------------------------------------------------------------------------------
-- Copyright (C) 2004 MySQL AB
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-- ----------------------------------------------------------------------------------------
-- ----------------------------------------------------------------------------------------
-- @file RdbmsInfoGeneric.lua
-- @brief Module that contains functionality for database management
-- ----------------------------------------------------------------------------------------
-- ----------------------------------------------------------------------------------------
-- @brief Returns the information about this module
--
-- Every Grt module has to implement this function to return information about the
-- module. Note that new functions that should be exposed to the Grt have to be listed
-- here. Function that are not exposed should start with a underscore.
--
-- @return A dict that contains the name and the function names of the module
-- ----------------------------------------------------------------------------------------
function getModuleInfo()
local moduleInfo= {
name= "RdbmsInfoGeneric",
functions= {
"getRdbmsInfo::"
},
extends= "RdbmsInfo"
}
return moduleInfo
end
-- ----------------------------------------------------------------------------------------
-- @brief Function to get information about Access
--
-- Returns a db.mgmt.Rdbms struct with infos about the rdbms
--
-- @return a new created db.mgmt.Rdbms GRT value struct
-- ----------------------------------------------------------------------------------------
function getRdbmsInfo(args)
local rdbmsMgmt= args[1]
-- create Rdbms object
local rdbms= grtV.newObj("db.mgmt.Rdbms", "GenericJdbc", "{76FD8EDF-45C7-4A4C-9014-F7FF485BA904}", grtV.toLua(rdbmsMgmt._id))
rdbms.caption= "Generic Jdbc"
rdbms.databaseObjectPackage= "db"
-- add driver to the Rdbms' list of drivers
grtV.insert(rdbms.drivers, getDriverGenericJdbc(rdbms))
rdbms.defaultDriver= rdbms.drivers[1]
return grt.success(rdbms)
end
-- ----------------------------------------------------------------------------------------
-- @brief Function to get the MS SQL driver
--
-- Helper function to return infos about the Jdbc driver
--
-- @param owner the Grt value of the Rdbms
--
-- @return a new created GRT value of struct "db.mgmt.Driver" containing the driver infos
-- ----------------------------------------------------------------------------------------
function getDriverGenericJdbc(owner)
-- create driver object
local driver= grtV.newObj("db.mgmt.JdbcDriver", "GenericJdbc",
"{27A7FC95-2459-444E-901A-3458CF82D808}", grtV.toLua(owner._id))
-- set driver values
driver.caption= "Generic Jdbc"
driver.description= "Generic Jdbc driver connection"
-- Jdbc specific settings
driver.className= ""
driver.connectionStringTemplate= ""
-- add driver parameters
grtV.insert(driver.parameters, __RdbmsInfo_lua.getDriverParameter(owner, "classname", "Class Name:",
"Classname of the driver to use.", "string", 1, 218, "", 0, 1))
grtV.insert(driver.parameters, __RdbmsInfo_lua.getDriverParameter(owner, "jdbcConnStr", "Connection String:",
"Jdbc Connection String", "string", 2, 218, "", 0, 1))
grtV.insert(driver.parameters, __RdbmsInfo_lua.getDriverParameter(owner, "explicit_username", "Username:",
"Explicit username if not submitted in the connection string", "string", 3, 218, "", 0, 0))
grtV.insert(driver.parameters, __RdbmsInfo_lua.getDriverParameter(owner, "explicit_password", "Password:",
"Explicit password", "string", 4, 218, "", 0, 0))
-- advanced parameters
grtV.insert(driver.parameters, __RdbmsInfo_lua.getDriverParameter(owner, "skipVersionDetection", "Skip version detection",
"Skips version detection as a workaround for broken drivers.", "boolean", -1, 318, "", 1, 0))
driver.defaultModules=
{
ReverseEngineeringModule= "ReverseEngineeringGeneric",
MigrationModule= "MigrationGeneric",
TransformationModule= ""
}
if grt.moduleExists("BaseJava") then
driver.isAccessable= true
driver.isInstalled= 1
else
driver.isAccessable= false
driver.isInstalled= false
end
return driver
end
|