`
richiewu
  • 浏览: 33909 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Cygwin&Vim搭建Mainframe IDE(10)---Vim中访问数据库,执行SQL

 
阅读更多

在Vim中直接执行SQL

当程序需要用到数据库的时候显然离不开SQL语句,通过一个插件,就可以在Vim中直接执行SQL语句,并返回结果到新窗口.
dbext:http://www.vim.org/scripts/script.php?script_id=356

首先得安装DB2客户端,以DB2为例设置,当然得创建节点编目和数据库编目,具体参考网上的文章,例如:
db2 catalog tcp node node_name remote server_ip server server_port

db2 catalog db db_name at node node_name authentication dcs

db2 catalog dcs db db_name db_alias at node node_name

db2 terminate

然后尝试执行一条SQL:

db2 connect to db_name user user_name using pass_word
SQL statement


为了能在Cygwin中调用DB2命令行程序,需要初始化运行环境:

db2cmd -i -w -c db2

新的DB2客户端已经兼容了Cygwin,可以不需要设置直接调用.
然后提交类似命令,创建数据库实例连接才能访问.

对dbext插件作如下设置
let g:dbext_default_profile = 'DB2_Sample'
let g:dbext_default_DB2_use_db2batch = 0
let g:dbext_default_DB2_cmd_header = ''
let g:dbext_default_DB2_bin = 'db2cmd'
let g:dbext_default_DB2_cmd_terminator = ';'
let g:dbext_default_DB2_cmd_options = '-q del -s off'
let g:dbext_default_DB2_db2cmd_bin = 'db2cmd'
let g:dbext_default_DB2_db2cmd_cmd_options = '-c -w -i -t db2 -stvf'
let g:dbext_default_profile_DB2_ENV1 = 'type=DB2:user=username:dbname=ENV1'
let g:dbext_default_profile_DB2_ENV2 = 'type=DB2:user=username:dbname=ENV2'
let g:dbext_default_profile_DB2_ENV3 = 'type=DB2:user=username:dbname=ENV3'

这里ENV1,ENV2,ENV3可以是自己定义的不同环境的数据,最多可以定义10个左右.
取决于建立的数据库实例.

接下来就可以在文本中执行SQL语句了,选中或者光标移动到SQL语句上使用快捷键即可,通常是<leader>se

在Cygwin中执行也是不错的方案,还可以从定向或者用其他工具处理结果,不过得首先连接到数据:

db2cmd -i -w -c db2 db2opt sqlscript_file


比如

db2cmd -i -w -c db2 -tvf sqlscript_file

SQL脚本文件的内容:

connect to <SCHEMA> user <USER> using <PASSWORD>;

SQL statement;

connect reset
terminate

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics