iT邦幫忙

0

sybase dbisql 操作

dbisql 是什麼? 怎麼用?
dbisql 能夠nogui的使用嗎?怎麼用?
dbisql 能夠用loader的方式,把資料吃進去嗎?怎麼用?

dbisql 是什麼?
在所有Sybase 產品裏,都使用dbisql。
產品有
SQL Anywhere (ASA), Sybase Enterprise Server( ASE), Sybase IQ

針對不能的需求而設計
1.線上交易的系統,存在密集的新增、刪除及修改等行為;
2.但是當資料轉入資料倉儲作為分析之用,顯少有刪除與修改的需要,取而代之的則是大量、動態的查詢活動。

dbisql介面

打開app介面,在畫面裡,執行query
dbisql -c "uid=sa;pwd=sa;eng=db;links=tcpip(host=myPC;port=2638);AutoPreCommit=YES" -q

dbisql 不要介面 - 執行query

run.bat
dbisql -c "uid=sa;pwd=sa;eng=db;links=tcpip(host=myPC;port=2638);AutoPreCommit=YES" -nogui "select top 1 * from tablename "

匯出撈取結果
dbisql -c "uid=sa;pwd=sa;eng=db;links=tcpip(host=myPC;port=2638);AutoPreCommit=YES" -nogui "select top 1 * from tablename ; OUTPUT TO zZENObject.txt FORMAT ASCII "

dbisql 不要介面 - 執行外部sql

準備2個檔案,放在一起,內容如下,然後執行bat,就會執行script.sql裡的東西
1.script.sql
create table tablename (ID int ,name varchar(30))
2.run.bat
dbisql -c "uid=sa;pwd=sa;eng=db;links=tcpip(host=myPC;port=2638);AutoPreCommit=YES" -nogui script.sql

用loader(待完成)

sybase loader
要有2個檔案
一個是控制檔,filename.out.ctl
在控制檔裡指定資料檔位置,與log位置.
一個是資料檔,filename.out

控制檔 .out.ctl
資料檔 .out
log檔 .out.ldrlog

control file

filename.out.ctl

/*
*Sybase IQ Load Script
*/

SET TEMPORARY OPTION ON_ERROR=EXIT;
SET TEMPORARY OPTION ISQL_LOG='e:\filename.out.ldrlog';
SET TEMPORARY OPTION DATE_ORDER='MDY';
truncate table tablename;
LOAD TABLE tablename
(
col1 ASCII( 7) NULL('* ') ,
col2 ASCII( 11) NULL('* ') ,
FILLER(2))
using client file 'e:\filename.out'
WITH CHECKPOINT OFF
BLOCK FACTOR 10000
NOTIFY 100000
ESCAPES OFF
QUOTES OFF
ON FILE ERROR ROLLBACK
/* End of Control File */

ref
https://sqlanywhere-forum.sap.com/questions/13475/running-a-script-file-with-dbisql-command-line
http://fecbob.pixnet.net/blog/post/39251081-sybase-dbisql%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%9A%84%E5%85%A7%E9%83%A8%E5%B0%8F%E5%A5%A7%E7%A7%98

key word
Running a script file with dbisql


1 則留言

0
海綿寶寶
iT邦超人 1 級 ‧ 2019-06-11 18:00:22

哇,Sybase 耶
好多年沒有看到這個名字了
/images/emoticon/emoticon77.gif

進這家公司,才知道這個產品的.之前都是用SQL Server & Oracle
請教大大~~為什麼很多年沒聽到啊,是退流行了嗎?

我不敢說是退流行
因為我從來沒用過 Sybase
/images/emoticon/emoticon06.gif

大大都用哪些Database?

我要留言

立即登入留言