转Asp操作DTS进行代参数的数据导入导出
2009-11-10 01:07
477 查看
Asp操作DTS进行代参数的数据导入导出
年前接了一个小项目,其中一部分是将sql中的数据进行有选择的导出到一个mdb中。
这些是完全可以通过asp得sql语句进行操作的,但是还是想把主要导出的任务交给sql server去做,asp主要是调动这个程序而已。
想到以前做过的东西,觉得实现起来并不难,只是一个参数的问题。
开始实现:
先做一个dts,连接好数据源,添加一个数据导出任务,将数据导出到access中。
然后调用asp启动dts,测试成功。
重点问题是如何在asp中输入参数,传递到dts中。
开始去想如何直接输入参数给dts。可以使用全局变量。
添加一个全局变量在数据转换任务中使用带有参数的查询。
SELECT *
FROM fenlei
WHERE ( fl_id < ?)
这样可以有一个参数使用。那么参数如何赋值?
关键是这几个语句
Set objGlobal = objDTSPackage.GlobalVariables
objDTSPackage.LoadFromSQLServer servername, usrname, pwd, DTSSQLStgFlag_Default2, "", "", "", dtsname
objDTSPackage.GlobalVariables("fl_id").Value = fl_id
objDTSPackage.Execute
而且一定要注意,参数的赋值一定要在loadfromsqlserver之后才行。否则不成功!!!
源代码如下:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<form action='rundts.asp' method=post>
servername:<input type=text name=servername value='MINT'><br>
usrname:<input type=text name=usrname value="sa"><br>
pwd:<input type=password name=pwd value="sa"><br>
conn:<input type=text name=DTSSQLStgFlag_Default2 value="0"><br>
dtsname:<input type=text name=dtsname value="export"><br>
id:<input type=text name=fl_id ><br>
<input type=submit value=ok></form>
<%
dtsname=request.form("dtsname")
usrname=request.form("usrname")
servername=request.form("servername")
pwd=request.form("pwd")
fl_id=request.Form("fl_id")
DTSSQLStgFlag_Default2=request.form("DTSSQLStgFlag_Default2")
if dtsname="" or DTSSQLStgFlag_Default2="" or usrname="" or servername="" or pwd="" then
response.write("error")
response.end
else
response.write("dtsname:"&dtsname&"<br>")
response.write("usrname:"&usrname&"<br>")
response.write("servername:"&servername&"<br>")
response.write("DTSSQLStgFlag_Default2:"&DTSSQLStgFlag_Default2&"<br>")
dim objDTSPackage
dim objDTSStep
dim strResult
dim blnSucceeded
const DTSSQLStgFlag_Default = 0
const DTSStepExecResult_Failure = 1
set objDTSPackage = Server.CreateObject("DTS.Package")
blnSucceeded = true
'objDTSPackage.DTSGlobalVariables("fl_id").value = 10
Set objGlobal = objDTSPackage.GlobalVariables
objDTSPackage.LoadFromSQLServer servername, usrname, pwd, DTSSQLStgFlag_Default2, "", "", "", dtsname
objDTSPackage.GlobalVariables("fl_id").Value = fl_id
objDTSPackage.Execute
for each objDTSStep in objDTSPackage.Steps
if objDTSStep.ExecutionResult = DTSStepExecResult_Failure then
strResult = strResult & "Package " & objDTSStep.Name & " failed.<br>"
blnSucceeded = false
else
strResult = strResult & "Package " & objDTSStep.Name & " succeeded.<br>"
end if
next
if blnSucceeded then
Response.Write "<h1>Package Succeeded</h1>"
else
Response.Write "<h1>Package Failed</h1>"
end if
Response.Write strResult
end if
%>
年前接了一个小项目,其中一部分是将sql中的数据进行有选择的导出到一个mdb中。
这些是完全可以通过asp得sql语句进行操作的,但是还是想把主要导出的任务交给sql server去做,asp主要是调动这个程序而已。
想到以前做过的东西,觉得实现起来并不难,只是一个参数的问题。
开始实现:
先做一个dts,连接好数据源,添加一个数据导出任务,将数据导出到access中。
然后调用asp启动dts,测试成功。
重点问题是如何在asp中输入参数,传递到dts中。
开始去想如何直接输入参数给dts。可以使用全局变量。
添加一个全局变量在数据转换任务中使用带有参数的查询。
SELECT *
FROM fenlei
WHERE ( fl_id < ?)
这样可以有一个参数使用。那么参数如何赋值?
关键是这几个语句
Set objGlobal = objDTSPackage.GlobalVariables
objDTSPackage.LoadFromSQLServer servername, usrname, pwd, DTSSQLStgFlag_Default2, "", "", "", dtsname
objDTSPackage.GlobalVariables("fl_id").Value = fl_id
objDTSPackage.Execute
而且一定要注意,参数的赋值一定要在loadfromsqlserver之后才行。否则不成功!!!
源代码如下:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<form action='rundts.asp' method=post>
servername:<input type=text name=servername value='MINT'><br>
usrname:<input type=text name=usrname value="sa"><br>
pwd:<input type=password name=pwd value="sa"><br>
conn:<input type=text name=DTSSQLStgFlag_Default2 value="0"><br>
dtsname:<input type=text name=dtsname value="export"><br>
id:<input type=text name=fl_id ><br>
<input type=submit value=ok></form>
<%
dtsname=request.form("dtsname")
usrname=request.form("usrname")
servername=request.form("servername")
pwd=request.form("pwd")
fl_id=request.Form("fl_id")
DTSSQLStgFlag_Default2=request.form("DTSSQLStgFlag_Default2")
if dtsname="" or DTSSQLStgFlag_Default2="" or usrname="" or servername="" or pwd="" then
response.write("error")
response.end
else
response.write("dtsname:"&dtsname&"<br>")
response.write("usrname:"&usrname&"<br>")
response.write("servername:"&servername&"<br>")
response.write("DTSSQLStgFlag_Default2:"&DTSSQLStgFlag_Default2&"<br>")
dim objDTSPackage
dim objDTSStep
dim strResult
dim blnSucceeded
const DTSSQLStgFlag_Default = 0
const DTSStepExecResult_Failure = 1
set objDTSPackage = Server.CreateObject("DTS.Package")
blnSucceeded = true
'objDTSPackage.DTSGlobalVariables("fl_id").value = 10
Set objGlobal = objDTSPackage.GlobalVariables
objDTSPackage.LoadFromSQLServer servername, usrname, pwd, DTSSQLStgFlag_Default2, "", "", "", dtsname
objDTSPackage.GlobalVariables("fl_id").Value = fl_id
objDTSPackage.Execute
for each objDTSStep in objDTSPackage.Steps
if objDTSStep.ExecutionResult = DTSStepExecResult_Failure then
strResult = strResult & "Package " & objDTSStep.Name & " failed.<br>"
blnSucceeded = false
else
strResult = strResult & "Package " & objDTSStep.Name & " succeeded.<br>"
end if
next
if blnSucceeded then
Response.Write "<h1>Package Succeeded</h1>"
else
Response.Write "<h1>Package Failed</h1>"
end if
Response.Write strResult
end if
%>
相关文章推荐
- 转 Asp操作DTS进行代参数的数据导入导出
- Asp操作DTS进行代参数的数据导入导出
- 利用SQL Server的DTS操作EXCEL、Access等数据表的导入导出
- [转载]利用SQL Server的DTS操作EXCEL、Access等数据表的导入导出
- [导入]Silverlight 2 (beta1)数据操作(1)——使用ASP.NET Web Service进行数据CRUD操作(上)
- java中通过jacob调用dts进行数据导入导出
- 如何在 ASM 存储中使用 Data Pump (expdp impdp)进行数据导出导入操作
- 如何使用VB调用DTS进行数据的导入、导出
- 利用SQL Server的DTS操作EXCEL、Access等数据表的导入导出
- [导入]Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下)
- 对象文件[置顶] 如何在 ASM 存储中使用 Data Pump (expdp impdp)进行数据导出导入操作
- 利用SQL Server的DTS操作EXCEL、Access等数据表的导入导出- -
- 用DTS方式实现数据导入导出操作
- c#操作xml文件与数据库配合进行数据导入导出
- 如何在 ASM 存储中使用 Data Pump (expdp impdp)进行数据导出导入操作
- java中通过jacob调用dts进行数据导入导出
- 如何使用VB调用DTS进行数据的导入、导出
- Winform开发框架之通用数据导入导出操作的事务性操作完善
- 数据库创建、数据泵导入导出等操作
- 数据导入,导出 表操作