忧郁的天空,杂乱的世界
程序人生,除了coding我们还可以做得更多更好!
博客园
首页
社区
新随笔
联系
订阅
管理
随笔-48 评论-309 文章-0 trackbacks-3
关于在.net程序中执行SQL数据库的DTS包
借首页问个问题,希望管理员允许我暂放一下,也希望各位兄弟帮我解答解答。
一个项目中,客户有一台oracle数据库以及一个sql数据库,我将它们搭建成异构数据库。其中后台要实现的一个功能叫“数据初始化”,要将oracle中的数据导入到sql数据库中。因此我使用了sql数据库的DTS导入,创建的DTS包在sql的企业管理器中已经被证明是可以成功执行的,可以成功地导入oracle的近百万的数据。
接着我开始用程序实现,代码如下:
string
DB_String
=
CConst.DBConnectString;
Regex ServerRegex
=
new
Regex(
"
Server=(?<server>[^;]+);
"
);
Regex UserRegex
=
new
Regex(
"
UID=(?<user>[^;]+);*
"
);
Regex PasswordRegex
=
new
Regex(
"
PWD=(?<password>\\w*);*
"
);
Match m
=
ServerRegex.Match(DB_String);
string
server_name
=
m.Groups[
"
server
"
].Value;
m
=
UserRegex.Match(DB_String);
string
user_name
=
m.Groups[
"
user
"
].Value;
m
=
PasswordRegex.Match(DB_String);
if
(
!
m.Success)
{
Trace.Warn(
"
失败啦
"
+
DB_String);
}
string
password
=
m.Groups[
"
password
"
].Value;
string
package_name
=
"
导入oracle核心数据库
"
;
string
DTSCommandText
=
string
.Format(
@"
/S {0} /U {1} /P {2} /N {3}
"
, server_name, user_name, password, package_name);
Trace.Warn(DTSCommandText);
Process myProc
=
new
Process();
myProc.StartInfo.FileName
=
@"
dtsrun.exe
"
;
myProc.StartInfo.Arguments
=
DTSCommandText;
myProc.StartInfo.CreateNoWindow
=
true
;
myProc.Start();
this
.Button1.Enabled
=
false
;
this
.LabelResult.Text
=
"
DTS作业已经开始运行
"
;
this
.LabelResult.Visible
=
true
;
这个程序在客户那里可以执行,不会出错,但是它中间的DTS包并没有被运行。究竟是哪里出了问题呢?大家可以指点一下吗?
客户的系统环境是window 2000 ad server+sql server 2000,数据库所在盘的文件格式为NTFS。
posted on 2005-03-01 09:58
湘南和也
阅读(1297)
评论(6)
编辑
收藏
所属分类:
.net技术
评论:
#1楼
2005-03-02 09:13 |
吕震宇
胡言乱语一番:
是不是没有给该托管代码足够的权限?
回复
引用
查看
#2楼
[
楼主
] 2005-03-03 09:59 |
湘南和也
to 吕大哥:
我也估计有这么个可能,我在自己的开发机上测试是可以的。我的开发机的文件格式是FAT32。
但怎样才能给它足够的权限呢?
回复
引用
查看
#3楼
2005-07-05 16:53 |
niming [未注册用户]
請問 CConst.DBConnectString 中的字串是怎樣的格式?
回复
引用
#4楼
[
楼主
] 2005-07-06 10:02 |
湘南和也
就是普通的类似"Server=127.0.0.1;Database=dbACTI;UID=uACTI;PWD=123"这样的字符串。
上面的代码用了正则表达式来取出各个参数
回复
引用
查看
#5楼
2005-07-06 19:32 |
niming [未注册用户]
Match m = ServerRegex.Match(DB_String);
if(m.Success)
server_name = m.Groups["server"].Value;
但是我這樣調 m.Success 一直是false; m.Groups.count=0
回复
引用
#6楼
[
楼主
]
2005-07-07 10:19 |
湘南和也
前面的政则表达式你写了没有?
Regex ServerRegex = new Regex("Server=(?<server>[^;]+);");
另外你把你的连接字符串贴出来看看
回复
引用
查看
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
闪存
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关文章:
[你必须知道的.NET] 第七回:品味类型---从通用类型系统开始
学习asp.net比较完整的流程
使用Visual Studio2005入门.Net2.0系列视频教程
C#下如何实现服务器+客户端的聊天程序
关于自助终端机的后台监控管理系统的开发
当当网是如何使用ASP.NET实现的?
诚邀有精通.NET技术的项目经理加盟!!!广州猎头职位!!
jQuery好像不是仅限于.net技术吧
相关链接:
所属分类的其他文章:
程序编码应保持良好的规范(C#)
web开发中让我郁闷不已的小失误
关于卸载windows service后再重新安装遇到的特殊问题
完成我的第一个windows service的开发
学习socket编程之一:用smtp协议发送邮件
实战服务器环境设置
灵活使用DataView
关于在.net程序中调用数据库的DTS包
新工作中的小收获
关于.net环境中应用DB2数据库的问题
最新IT新闻:
Google开拓美政府机构市场 微软业务受冲击
消息称苹果正在开发iTunes网络电视
微软周一开电话会议 预计将发布Silverlight2.0
开心网即将启用”shejiao.com”?
Google股价跌破329美元 61%员工期权价值归零
<
2005年3月
>
日
一
二
三
四
五
六
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(14)
给我留言
查看留言
随笔分类
.net技术(19)
备考心得(1)
生活感悟(25)
数据库技术(3)
随笔档案
2005年8月 (1)
2005年7月 (7)
2005年6月 (3)
2005年5月 (9)
2005年4月 (5)
2005年3月 (17)
2005年2月 (4)
2004年11月 (2)
真心朋友
猩猩点灯
哈哈,一个好哥们
最新评论
1. re: 基于.net的快速开发思想
逻辑层和数据层之间是不是要增加一个接口层比较好。用来存放接口和抽象类的。
--梁逸晨
2. re: 如何实现这个sql查询?
@陈晨
他越该越错吧~~~第一楼的就是正确答案~~
--玩到底
阅读排行榜
1. SQL数据库终极恢复??(9569)
2. 一个功能强大超级好用的图表组件Dundas Chart(5712)
3. 灵活使用DataView(4828)
4. 如何实现这个sql查询?(3501)
5. 基于.net的快速开发思想(3196)
6. 关于.net环境中应用DB2数据库的问题(2765)
7. ASPJPEG组件的bug(2409)
8. 程序编码应保持良好的规范(C#)(2214)
9. 新工作中的小收获(2156)
10. 被人遗忘的控件(一)(1939)
评论排行榜
1. SQL数据库终极恢复??(26)
2. 对博客园首页的一些建议(25)
3. 基于.net的快速开发思想(22)
4. 如何实现这个sql查询?(22)
5. 新工作中的小收获(21)
6. 系统设计应关注并发性(17)
7. 程序编码应保持良好的规范(C#)(17)
8. 一个功能强大超级好用的图表组件Dundas Chart(14)
9. .net之不可思议事件(一)(13)
10. 关于.net环境中应用DB2数据库的问题(12)