如何能自定义自动提取sybase数据呢?首先,我们要确定sybase里是否安装了Interactive Sql,有了Interactive Sql,就可以使用dbisql进行连接。
格式:dbisql -datasource[dsn-name] -host[hostname] -port -nogui[是否使用交互窗口] -onerror[]
主要介绍关键参数,还有其他参数可以自己去百度一下~~~
-datasource:DNS名称
-host:数据库ip地址
-nogui:是否使用交互窗口
-onerror:发生错误时continue或exit
方法一:基于BAT方式运行(打开TXT,输入以下指令并保存,改名为TEXT.BAT,其中XX.SQL是已写好的固定脚本,里面写好)
if exist "ENM1.sql" dbisql -datasource ENM1 ENM1.sql
if exist "ENM6.sql" dbisql -datasource ENM6 ENM6.sql
方法二:可用Python/ target=_blank class=infotextkey>Python/VBA进行调用(可动态实时提取小时或天脚本)
path1 = os.getcwd()
enm1_r= "dbisql -datasource enm1 -onerror continue read " + path1 + "scripenm1.sql ['" + sdate + "'] ['" + edate + "'] ['" + edate + "'];"
1、利用win任务进行定时执行
2、.SQL模板需要有输入参数,保存路径等
脚本模板:如ENM1.SQL
PARAMETERS sdate,edate,hour;
select .......
..............
output to "D:scripoutputenm6_ENM1_{edate}.csv" FORMAT TEXT DELIMITED BY ',' QUOTE '' WITH COLUMN NAMES;