RdbmsInfoGeneric.lua
上传用户:cccombo
上传日期:2021-01-31
资源大小:16445k
文件大小:5k
源码类别:

MySQL数据库

开发平台:

SQL

  1. -- ----------------------------------------------------------------------------------------
  2. -- Copyright (C) 2004 MySQL AB
  3. --
  4. -- This program is free software; you can redistribute it and/or modify
  5. -- it under the terms of the GNU General Public License as published by
  6. -- the Free Software Foundation; either version 2 of the License, or
  7. -- (at your option) any later version.
  8. --
  9. -- This program is distributed in the hope that it will be useful,
  10. -- but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. -- GNU General Public License for more details.
  13. --
  14. -- You should have received a copy of the GNU General Public License
  15. -- along with this program; if not, write to the Free Software
  16. -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  17. -- ----------------------------------------------------------------------------------------
  18. -- ----------------------------------------------------------------------------------------
  19. -- @file RdbmsInfoGeneric.lua
  20. -- @brief Module that contains functionality for database management
  21. -- ----------------------------------------------------------------------------------------
  22. -- ----------------------------------------------------------------------------------------
  23. -- @brief Returns the information about this module
  24. --
  25. --   Every Grt module has to implement this function to return information about the 
  26. -- module. Note that new functions that should be exposed to the Grt have to be listed 
  27. -- here. Function that are not exposed should start with a underscore.
  28. --
  29. -- @return A dict that contains the name and the function names of the module
  30. -- ----------------------------------------------------------------------------------------
  31. function getModuleInfo()
  32.   local moduleInfo= {
  33.     name= "RdbmsInfoGeneric", 
  34.     functions= {
  35.       "getRdbmsInfo::"
  36.     }, 
  37.     extends= "RdbmsInfo"
  38.   }
  39.   return moduleInfo
  40. end
  41. -- ----------------------------------------------------------------------------------------
  42. -- @brief Function to get information about Access
  43. --
  44. --   Returns a db.mgmt.Rdbms struct with infos about the rdbms
  45. -- 
  46. -- @return a new created db.mgmt.Rdbms GRT value struct 
  47. -- ----------------------------------------------------------------------------------------
  48. function getRdbmsInfo(args)
  49.   local rdbmsMgmt= args[1]
  50.   -- create Rdbms object
  51.   local rdbms= grtV.newObj("db.mgmt.Rdbms", "GenericJdbc", "{76FD8EDF-45C7-4A4C-9014-F7FF485BA904}", grtV.toLua(rdbmsMgmt._id))
  52.   rdbms.caption= "Generic Jdbc"
  53.   rdbms.databaseObjectPackage= "db"
  54.   -- add driver to the Rdbms' list of drivers
  55.   grtV.insert(rdbms.drivers, getDriverGenericJdbc(rdbms))
  56.   rdbms.defaultDriver= rdbms.drivers[1]
  57.   return grt.success(rdbms)
  58. end
  59. -- ----------------------------------------------------------------------------------------
  60. -- @brief Function to get the MS SQL driver
  61. --
  62. --   Helper function to return infos about the Jdbc driver
  63. -- 
  64. -- @param owner the Grt value of the Rdbms
  65. --
  66. -- @return a new created GRT value of struct "db.mgmt.Driver" containing the driver infos
  67. -- ----------------------------------------------------------------------------------------
  68. function getDriverGenericJdbc(owner)
  69.   -- create driver object
  70.   local driver= grtV.newObj("db.mgmt.JdbcDriver", "GenericJdbc", 
  71.     "{27A7FC95-2459-444E-901A-3458CF82D808}", grtV.toLua(owner._id))
  72.   -- set driver values
  73.   driver.caption= "Generic Jdbc"
  74.   driver.description= "Generic Jdbc driver connection"
  75.   -- Jdbc specific settings
  76.   driver.className= ""
  77.   driver.connectionStringTemplate= ""
  78.   -- add driver parameters
  79.   grtV.insert(driver.parameters, __RdbmsInfo_lua.getDriverParameter(owner, "classname", "Class Name:", 
  80.     "Classname of the driver to use.", "string", 1, 218, "", 0, 1))
  81.   grtV.insert(driver.parameters, __RdbmsInfo_lua.getDriverParameter(owner, "jdbcConnStr", "Connection String:", 
  82.     "Jdbc Connection String", "string", 2, 218, "", 0, 1))
  83.   grtV.insert(driver.parameters, __RdbmsInfo_lua.getDriverParameter(owner, "explicit_username", "Username:", 
  84.     "Explicit username if not submitted in the connection string", "string", 3, 218, "", 0, 0))
  85.   grtV.insert(driver.parameters, __RdbmsInfo_lua.getDriverParameter(owner, "explicit_password", "Password:", 
  86.     "Explicit password", "string", 4, 218, "", 0, 0))    
  87.     
  88.   -- advanced parameters
  89.   grtV.insert(driver.parameters, __RdbmsInfo_lua.getDriverParameter(owner, "skipVersionDetection", "Skip version detection", 
  90.     "Skips version detection as a workaround for broken drivers.", "boolean", -1, 318, "", 1, 0))
  91.     
  92.   driver.defaultModules= 
  93.     {
  94.       ReverseEngineeringModule= "ReverseEngineeringGeneric",
  95.       MigrationModule= "MigrationGeneric",
  96.       TransformationModule= ""
  97.     }
  98.   if grt.moduleExists("BaseJava") then
  99.     driver.isAccessable= true
  100.     driver.isInstalled= 1
  101.   else
  102.     driver.isAccessable= false
  103.     driver.isInstalled= false
  104.   end
  105.   return driver
  106. end