如何在客戶端調(diào)用SQLSERVER的DTS包(并且可以輸入?yún)?shù))?
2024-07-21 02:08:17
供稿:網(wǎng)友
**********************************************************
author:黃山光明頂
mail:[email protected]
version:1.0.0
date:2004-1-30
(如需轉(zhuǎn)載,請注明出處!,如果有問題請發(fā)mail給我:-))
***********************************************************
經(jīng)常有網(wǎng)友問起如何在客戶端調(diào)用sqlserver服務器端的一些腳本和對象,并且可以輸入?yún)?shù),我就舉例說明一下如何在客戶端調(diào)用sqlserver的dts包,并且可以輸入?yún)?shù),并且可以記錄日志:
測試環(huán)境:
服務器:piii866+512mb +raid5
windows 2000 server+sp4 ;sqlserver2000+sp3
客戶端:windows 2000 pro+sp4+sqlserver2000 client+sp3
1.先在server端建立一個dts包:
這可以根據(jù)向?qū)б徊揭徊降耐瓿桑揖筒欢嗾f了。比如我門建立了一個導入excel文件到sqlserver的dts包:dts_exceltosqlserver
2.在客戶端建立一個批處理文件
crundts.bat
3.用文本編輯器編輯:
@@echo off
if [%1] == [] goto usage
if [%2] == [] goto usage
if [%3] == [] goto usage
if [%4] == [] goto usage
cls
set logfile=c:/dtsrun.log
echo %time% manual dts package start run......... >> %logfile%
echo ------------------------------------------ >> %logfile%
@dtsrun /s %1 /u %2 /p %3 /n %4 >> %logfile%
if errorlevel 1 goto error
echo %time% manual dts package end......... >> %logfile%
echo ------------------------------------------ >> %logfile%
pause
goto finish
:error
echo ------------------------------------------- >> %logfile%
echo dtsrun error pls check log .........
echo %time% globalstore backup abnormal end. >> %logfile%
pause
goto finish
:usage
echo.
echo usage:crundts %1 servername %2 use_name %3 password %4 dts_name
:finish
4.保存該文件:
然后你可以在任何程序中調(diào)用,也可以手工執(zhí)行,輸入?yún)?shù)
5.測試運行:
在dos提示符下運行:crundts servername sa password dts_exceltosqlserver
6.日志信息:
10:24:29.38 manual dts package start run.........
------------------------------------------
dtsrun: loading...
error: -2147217900 (80040e14); provider error: 14262 (37b6)
error string:
error source:
help file:
help context: 0
10:24:29.66 manual dts package end.........
------------------------------------------
10:27:29.41 manual dts package start run.........
------------------------------------------
dtsrun: loading...
dtsrun: executing...
dtsrun onstart: dtsstep_dtsdatapumptask_1
dtsrun onprogress: dtsstep_dtsdatapumptask_1; 23 rows have been transformed or copied.; percentcomplete = 0; progresscount = 23
dtsrun onfinish: dtsstep_dtsdatapumptask_1
dtsrun: package execution complete.
10:27:30.02 manual dts package end.........
------------------------------------------