以下(绿字标记部分)同样适用于服务器端DB操作
-----------------------------
■DB Server 的服务器连接(Linux)
sudo su -
su - DBUser
db2 connect to XXXDB
db2 set schema SchemaName
cd /XXXXXX/XXX/ 补足说明,一般DB Server会指定一个「DBUserXXX」可以访问的目录,用于执行SQL文
db2 -tvf "/XXXXXX/XXX/xxx.sql"
■Local命令行启动
0.命令行中启动,执行下面命令,列出本地拥有的数据库
「db2 list database directory」
1.连接数据库
runas /user:db2user "db2cmd cd /D %~dp0"
或者在 命令行中启动,执行「db2 connect to XXXDB」
(XXXDB,再上面的「db2 list database directory」执行后,会被显示出来)
2.切换Schema,执行SQL文
db2 SET SCHEMA schemaName
db2 -tvf XXX.sql -z XXX.log
3.建立一个sql文件
XXX.sql
IMPORT FROM tableNameData.csv OF DEL REPLACE INTO tableName;
■查看DB编码信息
db2 get db cfg for DBName
或者连接DB后「db2 connect to XXXDB」,再执行「db2 get db cfg」
■使用时的补足说明
其中【db2cmd】是在以下目录下,并且在环境变量中有设置
C:\IBM\SQLLIB\BIN\db2cmd.exe
如果在环境变量中没有设定,要像下面这么写
runas /user:du2user "C:\IBM\SQLLIB\BIN\db2cmd cd /D %~dp0"
■启动服务
【DB2 -DB2COPY1-DB2】
实际文件保存目录
C:\IBM\SQLLIB\BIN\db2syscs.exe
■使用A5连接
直接server连接
serverName:50000
DBName
■其他命令 (「db2 connect to XXXDB」)之后
查看Schema
「db2 "select schemaname from syscat.schemata"」
设定Schema
「db2 SET SCHEMA schemaName」
查看所有的表
「db2 "select name from sysibm.systables where type='T' and creator=''schemaName"」
查看表中所有的字段
「db2 "select name from sysibm.syscolumns where tbname='tableName' and tbcreator=''schemaName"」
■DB2命令参数
-a 显示 SQLCA
-c 自动落实
-e 显示 SQLCODE/SQLSTATE
-f 读取输入文件
-l 将命令记录到历史文件中
-n 除去换行字符
-o 显示输出
-p 显示 db2 交互式提示符
-r 将输出报告保存到文件
-s 在命令出错时停止执行
-t 设置语句终止字符
-v 回送当前命令
-w 显示 FETCH/SELECT 警告消息
-x 不打印列标题
-z 将所有输出保存到输出文件