- 论坛徽章:
- 1
|
本帖最后由 guofeng2068 于 2013-03-07 15:09 编辑
各位好。我在使用shell调用freebcp进行SQLServer数据库数据的导出工作。因为要导出的数据表比较多,因此,打算使用并发提高处理速度。编程示意如下:
awk -F: '{print $1,$2}' databaseandtablenames.info | while read databasename tablename
do
(
freebcp $databasename.dbo.$tablename out $databasename.$tablename.dat -c -t, -S DBLink -U Username -P userpasswd
sleep 5
)&
done
wait
# do other things.such as
cat $databasename.$tablename.dat
...
其中,databaseandtables.info中包含多个数据库名及表名,如下
dbname1:tablename1
dbname2:tablename2
...
因为各个表的数据量不相同,freebcp完成所需要得时间并不相同。在程序执行的时候,会产生提示:
cat:dbname2.tablename2.dat文件不存在
可以确定,freebcp可以正常完成。
请问各位:
为什么会出现这种状况?
跟sleep的时间有没有关系?
有没有更好的控制方法?
谢谢 |
|