DB2数据在命令行里执行sql语句,可以用到
db2 -td@ -vf file.sql
这个命令,可是在file.sql这个文件里的sql语句如果行尾分号后有空格就会导致不能成功执行,需要删除行末空格,最好在加-- 注释符。这样问题就解决了。
本文出自 “AskJoey” 博客,请务必保留此出处http://askjoey.blog.51cto.com/7594056/1771536
DB2数据库在命令行执行问题
标签:sql语句 数据库 最好
小编还为您整理了以下内容,可能对您也有帮助:
如何在Windows CMD里面用命令行操作DB2数据库
1、打开电脑,进入电脑操作系统,点击开始菜单,在电脑开始菜单中,找到命令行cmd,或者使用快捷键组合WIN+R键可以直接打开运行,输入cmd命令行,即可直接打开命令行cmd。
2、通过以上方法,在电脑中找到命令行cmd后,点击确定或者直接点击回车键,进入命令行cmd的运行程序界面。
3、在电脑中进入命令行cmd后,在命令行cmd中,输入db2命令后点击回车,此时可以看到命令行提示DB2未初始化命令行环境,
4、这就是说明,在命令行cmd下面,是不可以直接使用db2命令、不可以直接运行db2命令的。但命令行cmd是识别db2命令的,
5、如果命令行cmd不知别db2命令的话,那么命令行cmd的提示信息就是:不是内部或外部命令,也不是可运行的程序或批处理文件。
6、可以在命令行cmd中使用db2cmd命令,此时就可以打开另外一个命令行窗口,在这个窗口中,就可以使用db2命令了。
7、或者如果对db2命令熟悉的话,可以在db2cmd命令后面,直接加对应的db2命令即可运行对应的db2命令,如db2cmd db2,这样就可以直接进入db2运行环境了。
8、通过以上步骤,现在知道了如果DB2未初始化命令行环境,可以使用db2cmd命令,进入db2cmd命令环境后,就可以运行使用db2命令了。
9、在打开运行后,输入db2cmd命令,点击确定或者点击回车后,即可进入db2cmd命令环境、初始化命令行环境,下载再打开运行后,就可以直接看到db2cmd命令了。
linuxdb2命令行执行导出查询结果linuxdb2命令
db2无法连接数据库?
1.看看端口号有没有配置正确,看一下配置参数svcename跟services文件中配置的db2端口号是否一致,windows一般用50000,unix/linux一般用60000
2.连接出错首先看看服务器ip和端口写对没有
ip如果没错就要看看服务器的db2服务端口对不对。另外对于服务器下面这些也要注意
检查服务器的配置情况如下:
验证存在的DB2数据库
db2listdbdirectory
db2listdbdirectoryshowdetail
验证实例使用的通讯协议,查看DB2COMM变量
db2set-all
查看数据库管理器的配置,查看SVCENAME(特指tcpip协议)
db2getdbmcfg
查看/etc/services中,有无与上面对应SVCENAME的端口,例如:
db2cDB250000/tcp
要确认服务器是否在监听,可以用netstat-an来查看端口是否处于LISTEN状态。
怎么查看DB2的后台进程?怎么看系统分配给数据库的裸设备?
1.unix/linuxls-al|grepdb2
2.如果从lv的名字上看不出来就连上数据库,然后看表空间容器吧
【急】如何导出服务器上的db2数据库,是导出整个数据库,包括表结构表空间,数据等?
不用,可以远程连接到服务器,windows系统可以通过远程连接,linux/unix系统可以通过ssh/telnet连接,在服务器上用db2connectto数据库名连接数据库,然后通过db2look-d数据库名-e-a-c-o导出文件名.sql-i用户名-w密码导出结构,通过db2move数据库名export-u用户名-p密码导出数据;
在本地导入前先connect数据库,然后db2-td;-cf导出文件名.sql在本地根据该文件sql建立数据结构,之后用db2move数据库名load-u用户名-p密码导入数据
如何查看db2中创建成功的存储过程?
存储过程:sp_xx.查看存储linux:db2"select*fromsyscat.PROCEDURES|grep-isp_xx"window:db2"select*fromsyscat.PROCEDURES|find/i"sp_xx""
如何在db2命令行运行sql必知必会例子
db2 => connect to dbName user xxx using password
db2 => sql语句
如果要执行一个sql脚本文件:
db2 => quit
c:\> db2 -tvf sql文件名
db2 -td@ -f filename
@是语句结束符。
E:\>db2 ? options
db2 [option ...] [db2-command | sql-statement |
[? [phrase | message | sqlstate | class-code]]]
option:-a、-c、-e{c|s}、-finfile、-lhistfile、-n、-o、-p、-rreport、-s、-t、
-td;、-v、-w、-x 和 -zoutputfile。
选项 描述 缺省设置
------ ---------------------------------------- ---------------
-a 显示 SQLCA OFF
-c 自动落实 ON
-e 显示 SQLCODE/SQLSTATE OFF
-f 读取输入文件 OFF
-l 将命令记录到历史文件中 OFF
-n 除去换行字符 OFF
-o 显示输出 ON
-p 显示 db2 交互式提示符 ON
-r 将输出报告保存到文件 OFF
-s 在命令出错时停止执行 OFF
-t 设置语句终止字符 OFF
-v 回送当前命令 OFF
-w 显示 FETCH/SELECT 警告消息 ON
-x 不打印列标题 OFF
-z 将所有输出保存到输出文件 OFF
注意:
使用 DB2OPTIONS 环境变量定制选项缺省值。
紧跟选项字母后的减号(-)使该选项关闭。
使用 UPDATE COMMAND OPTIONS 更改选项设置(以交互式或
文件输入方式)。
只能提供nt环境下编写脚本的例子给你以供参考:
脚本样例:
db2 connect to yourdb user yourname using yourpassword
db2 insert into newuser(username,password,email) values('Amy','1234','Amy@ss.com')
db2 insert into newuser(username,password,email) values('Judy','1234','Judy@ss.com')
db2 commit
db2 disconnect yourdb
运行脚本: 运行db2cmd X:\XXX.bat
以下摘自本论坛的FAQ可参考:
"
在命令窗口中运行DB2脚本,可用 db2 -svtf 脚本文件名 来实现。
例如,脚本文件名为sample.sql,运行:db2 -svtf sample.sql
参数中:
s 代表遇到错误时中止运行脚本
v 代表输出结果到屏幕
t 指以;号作为每行的分隔符
f 指后面需跟脚本文件名 "---此摘录版权归斑竹非本人所有
具体在AS400如何编写脚本非常遗憾.
db2 -x select SERIALNO from tabname where clause
C:>db2 attach to db2164 user
输入 的当前密码:
实例连接信息
实例服务器 = DB2/NT 8.2.0
授权标识 = CCP
本地实例别名 = DB2164
C:>db2 connect to dw164 user
输入 的当前密码:
数据库连接信息
数据库服务器 = DB2/NT 8.2.0
SQL 授权标识 = CCP
本地数据库别名 = DW164
C:>db2 select * from CCP_STS1 fetch first 2 rows only with ur
CUST_ID NOW_PRED_S LOAD_TIME
-------------------- -------------------- --------------------------
3094736. ZFS 2008-05-07-10.02.00.453000
3145886. ZFS 2008-05-07-10.02.00.453000
2 条记录已选择。
C:>db2 list command options
命令行处理器选项设置
后端进程等待时间(秒) (DB2BQTIME) = 1
连接至后端的重试次数 (DB2BQTRY) = 60
请求队列等待时间(秒) (DB2RQTIME) = 5
输入队列等待时间(秒) (DB2IQTIME) = 5
命令选项 (DB2OPTIONS) = +m
选项 描述 当前设置
------ ---------------------------------------- ---------------
-a 显示 SQLCA OFF
-c 自动落实 ON
-d 检索并显示 XML 声明 OFF
-e 显示 SQLCODE/SQLSTATE OFF
-f 读取输入文件 OFF
-i 显示 XML 数据并带有缩进 OFF
-l 将命令记录到历史记录文件中 OFF
-m 显示受影响的行数 OFF
-n 除去换行字符 OFF
-o 显示输出 ON
-p 显示交互式输入提示符 ON
-q 保留空格和换行符 OFF
-r 将输出保存到报告文件 OFF
-s 在命令出错时停止执行 OFF
-t 设置语句终止字符 OFF
-v 回传当前命令 OFF
-w 显示 FETCH/SELECT 警告消息 ON
-x 不打印列标题 OFF
-z 将所有输出保存到输出文件 OFF
C:>db2set DB2OPTIONS=-x
C:>db2 select * from CCP_STS1 fetch first 2 rows only with ur
4654908. ZFS 2008-05-07-10.02.00.453000
3716687. ZFS 2008-05-07-10.02.00.453000
db2 删除数据库时,说该数据库正在使用,删除不了
db2 删除数据库时,说该数据库正在使用,删除不了是设置错误造成的,解决方法为:
1、打开电脑,进入电脑操作系统,使用快捷键组合WIN+R键可以直接打开运行,输入dbcmd命令行,即可直接打开db2命令行dbcmd。
2、通过以上方法,在电脑中找到db2命令行db50pxd后,点击确定或者直接点击回车键,进入命令行db50pxd的运行程序界面。在db50pxd运行界面中,输入db2start,开始启动db2数据库。
3、在dbcmd运行界面中,输入db2start,开始启动db2数据库,等待系统启动db2数据库。系统启动db2数据库的时间由当前电脑或者服务器的配置确定。
4、待系统启动db2数据库完成后,就可以开始使用db2创建数据库命令进行创建db2数据库了。在dbcmd中,输入:“db2 create database 数据库名”开始创建db2数据库。
5、在dbcmd运行界面中,输入:“db2 create database 数据库名”后,点击回车就可以开始创建db2数据库了,等待db2数据库创建完成。db2数据库创建时间由当前电脑或者服务器的配置决定。
6、使用“db2 create database 数据库名”db2命令创建完成db2数据库后,就可以使用“db2 connect to 数据库名”进行连接刚才创建的数据库了,如果可以连接上数据库,就说明数据库可以正常使用了。