mysql - 从 db2 制作输出文件显示从 shell 脚本创建表的过程?

标签 mysql sql database shell db2

我创建了一个 shell 脚本,它将创建一个包含 db2 表创建过程的字符串。如示例所示: string =“db2”创建表foo(.........“”

现在我的脚本将连接到数据库并输入转换为将创建表的 db2 的字符串。在 shell 输入字符串之前,我在 db2 上启用了命令

在 test-database.txt 上使用 z 更新 db2 命令选项 这样我想将所有输出保存在文本文件中 但是,我的问题是我希望该字符串显示在 db2 创建的输出文件中,就像您在 db2 中输入来创建表一样,但从不显示在输出文件中。它会在 test-database.txt 中显示表是否成功创建的结果,例如

SQL 命令成功完成。

有没有办法让输出文件显示表的创建? 。提前致谢

最佳答案

您正在谈论 db2clp 的选项,它有许多不同的选项。

如果我理解的话,您正在编写一个脚本(我认为是一个 bash 脚本)并且您想要检索命令输出。为此,您有两种选择

  • 将命令输出写入文件,然后读取该文件。
  • 将命令输出重定向到变量。

第一个选项比较简单。此选项使用 z 选项,将整个输出写入文件。您只需打印出所需内容,然后将输出重定向到文件即可更改此行为。

db2 -tf myfile.sql -z /tmp/output
VAR=$(cat /tmp/output)

第二个选项有点棘手,因为重定向意味着创建另一个 shell,然后您应该重新加载 db2 配置文件。这个选项使用了v选项,即标准输出,我希望输出是你想要的。

VAR=$(. ~db2inst1/sqllib/db2profile ; db2 -tvf myfile.sql)

最后,你只需要处理VAR的内容,通过awk、sed、grep等即可。

了解更多信息:http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/topic/com.ibm.db2.luw.admin.cmd.doc/doc/r0010410.html

关于mysql - 从 db2 制作输出文件显示从 shell 脚本创建表的过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19829935/

相关文章:

php - 用户 'root' 已超出 'max_questions' 资源 1

sql - Oracle SQL 何时使用完整提示

python - peewee:过滤从多对多关系中选择查询结果

php - 从 SELECT WHERE IN 查询 MySQL 中提取值

php - 如何添加数据库中的每条最后记录?例如。 1 += 1

php - 在链接到数据库的 PHP 中计算测验分数

php - 用多维数组查询mysql

MySql:使用 index_merge 优化子查询

sql - 处理 SQLCMD :r in a post-deployment script

iphone - 关于服务器/客户端结构 iOS App 开发的服务器实现的建议?