【问题标题】:Script the a complete Sybase database编写完整的 Sybase 数据库脚本
【发布时间】:2023-03-20 16:50:01
【问题描述】:

我们在当前项目中使用 Sybase 8 和 Sybase 16 数据库。我有一个要求,我需要使用 Sybase 脚本工具编写完整的 Sybase 数据库(在某些表中有一些内置数据)。例如,如果我运行一个 Sybase 脚本,它会为我创建一个 Sybase 数据库。我尝试使用 Dbunload(创建转储)、dbinit(创建新数据库)和 dbisql(将数据添加到数据库)命令的组合,但无法使用。需要此论坛中任何 Sybase 数据库管理员的帮助。谢谢。

【问题讨论】:

  • 请详细描述您的意思是“我无法理解”。究竟出了什么问题?请描述你做了什么,你收到了什么,你的预期结果是什么。
  • 我会详细解释。假设我有一个 sybase 数据库(例如:Database1),其中包含许多表,其中很少有包含数据行作为默认值的表。现在,我需要创建一个脚本,该脚本在执行时应该创建这个数据库(例如:Database1),以便该脚本用于比较两个版本的 sybase 数据库是否有任何更改。因为,我们无法在版本控制中比较两个版本的 sybase 数据库,因为它们是二进制格式。我也是 sybase 数据库和脚本的新手。如果您需要更多输入,请告诉我。
  • 您是否尝试过使用 PowerDesigner 提取 DDL?
  • 嗨,亚当,感谢您的回复。在我们公司,我们没有使用 PowerDesigner 来提取 DLL。我们在项目中使用 Sybase 8 和 Sybase 16 [Sybase Central] 作为数据库。我们需要使用纯脚本或类似宏脚本的东西来完成这项任务
  • 如果您想编写自己的脚本,那么您可以做到。系统表可用,并且有完整的 API 可用:infocenter.sybase.com/help/topic/…

标签: sybase sybase-asa mysqladmin


【解决方案1】:

如果您想使用完整的工具来生成 DDL,那么您可以使用 PowerDesigner。

如果您想在创建 DDL 脚本的 T-SQL 或 Watcom SQL 中编写自己的脚本,那么您也可以这样做。有关表模式的所有信息都在系统表中可用。列的完整描述也可以在SQL Anywhere 的文档中找到。

【讨论】:

  • 嗨亚当,我能够使用“dbunload”实用程序获取 DDL 脚本和转储。我被阻止的最后一个问题。对于 sybase 16,我可以使用命令“dbinit”和我的自定义 mypassword(“mypassword”)创建一个新的空白数据库,如下所示: dbinit -z "abcdefgh" -zn "abc" -ek "abcd%abcd" -dba "dba","mypassword" -t "Test.log" "D:\Output\Test.db" 但是对于 sybase 8,我无法使用带有自定义 mypassword 的命令“dbinit”创建空白数据库,因为它没有“-dba”选项。
  • 继续我上面的评论:----当我在这个上下文中执行 dbinit 命令时,如下所示: 例如:dbinit -z "abcdefgh" -ek "abcd%abcd" -t "Test.log" "D:\Output\Test.db" 它创建一个空白的 "Test" 数据库,默认用户 ID = "dba" 和 pwd = "sql"。我面临的挑战是,我需要一个命令或解决方法来将此默认密码更改为仅限 SYBASE 8 中的自定义密码。它适用于 sybase 16。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
  • 2016-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 1970-01-01
相关资源
最近更新 更多