可在 sybase 使用者下建立,將其命名為 bcpoutdata 。
然後 chmod a+x bcpoutdata
在 sybase 使用者下執行 bcpoutdata 即可。
注: 1)將 database_name 改為你的資料庫名。
2)將 pas 改為你的 sa 口令。
3)將 server 改為你的 sql server 名。
4)要匯入,將 out 改為 in 即可。
最後提醒你,別忘了要在 sybase 使用者下建立乙個目錄,
把 bcpoutdata 置入其中,再執行。
什麼?你要打包、壓縮。
哈,在後面加幾條:
tar cvf data.tar *.bcp
compress data.tar
rm *.bcp
願各位好運
isql -usa -ppas -sserver -otables.tmp <<-eof
use database_name
go select name from sysobjects where type='u' order by name
go exit
eof
vi tables.tmp :1,2 d
:$ d
:1,$ <<<
: x
eof
total=`cat tables.tmp|wc -l`
current=0
for table in `cat tables.tmp`
do current=$current+1
echo "*** $current/$total bcpout $table ***"
bcp database_name..$table out $table.bcp -usa -ppas -sserver -jiso_1 -c
echo "*** $table done ***n"
done
rm tables.tmp
首先感謝諸位對此文的興趣,現解釋如下:
一、匯出使用者資料庫中的表,將其置入檔案 tables.tmp 中。
isql -usa -ppas -sserver -otables.tmp <<-eof
use database_name
go select name from sysobjects where type='u' order by name
go exit
eof
vi tables.tmp :1,2 d (刪首兩行)
:$ (到末行)
:-2,. d (刪末三行)
:1,$ <<< (清各行左側空格,即各行頂左。當然乙個 < 也夠用,1,$ 也可換成 % )
: x
eof
至如 《使它們不在屏上顯示,哈哈、、、就用它了。
找本書看看,再在 shell 下,帶 《鍵入上述指令碼,你就會有收穫的。eof 可用其他字母,但前後必須一致。
三、匯出使用者資料庫各表中的資料
total=`cat tables.tmp|wc -l` (總表數)
current=0 (當前的第 n 張表)
for table in `cat tables.tmp` (將檔案 tables.tmp 中的表名依次賦給 table)
do current=$current+1
echo "*** $current/$total bcpout $table ***"
bcp database_name..$table out $table.bcp -usa -ppas -sserver -jiso_1 -c
echo "*** $table done ***n"
done
rm tables.tmp
Shell指令碼實現執行 Hive指令碼
hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案hive對映為一張資料庫表,並提供完整的sql查詢功能,可以將sql語句轉換為mapreduce任務進行執行。hive目前還不支援像mysql那樣的sql指令碼,如果遇到需要批量處理hql就會比較麻煩 這兩天就遇到需要批量刪除有命名...
shell指令碼實現選單操作
bin bash written by wubo blog blog.csdn.net wbls615117 while doecho 請輸入你要進行的操作 select var in edit file view ip delete file change directory exit view ...
shell 指令碼實現檔案打包
將sent資料夾中的txt檔案壓縮到successful中對應資料夾中,若是沒有資料夾建立乙個 test3.sh bin bash date date y m for dir in ls file path file type 1 do 子目錄為資料夾 if echo dir grep then 去...