SSIS中如何设置ACCESS数据转到SQL SERVER 2005

时间:2022-10-28 23:55:31
刚接触SQL SERVER 2005,想定时将ACCESS的数据转入到2005中,是不是用SSIS里面的THANSFER DATABASE,不会设,高手能否指点一二,因为比较菜,如果可以请说明详细一点,万分感谢!

17 个解决方案

#1


很急,请好心人指点一下吧

#2


没有人理我,呜呜......

#3


创建包导入数据,调度包不行?

#4


创建包,怎么导,那些参数在哪设啊,我找不到像2000里面那种连ACCESS的连接啊,用thansfer database连接到源和目标都没有设指到access的地方,关键是我不会用,每一天接触2005,给个详细点的步聚行吗?多谢了......

#5


第一天接触,竟然打成了每一天接触,晕,:)

#6


呵呵,刚又看了一下,大概找到地方了,呵呵,再研究一下去

#7


选择 OLE DB 数据源->在链接管理器里 新建Microsfot Jet 4.0 OLE DB Provider,选择.mdf文件就可以了

#8


因为这个任务要在香港的电脑上完成,我用远程登入的,好不容易能登进去了,看几分钟又断了
哎,还是没研究会,我自己的电脑上没装2005
能否给个例子,最好详细点的步骤啊,我菜鸟别笑我哦,谢谢!

另外,我在链接管理器里新建OLE DB Provider没在MDF可选的,那是怎么回事?

#9


耐心的好心人帮下我,感谢!

#10


哎,为什么我能找到excel source ,找不到access source 啊
怎么回事?access装了Sql server2005后安装的,跟这会有关系吗?

#11


在数据流设计器中
1)拖动 左边工具箱->数据流源-> OLE DB 数据源到设计器中
2)双击OLE DB 数据源在 OLE DB 数据源编辑器中选新建->新建
3)在链接管理器提供程序下拉列表中选 Microsfot Jet 4.0 OLE DB Provider
4)在数据库名对话框中浏览选取access文件
5)填入登陆到access数据库的用户名和密码,如果没设,默认用户admin,密码为空
6)点击测试连接,看是否有误

#12


非常感谢happydreamer(重返csdn) 的帮助,还有两个问题,OLE DB Command一定要指定一个输入吗?如果我只想用它删除一个表的记录,要怎么设,我如果没指定输入好像删不掉,指定了又似乎进了死锁,一执行它就出不来,再有做好包后要定时执行的话(也就是常说的调度)要怎么设,呵呵,偷点懒,不想再去搜索了,再一次感谢!

#13


怎么调度包
一  首先在Business Intelligence中设计好包,并调试通过

二   选用dtexec工具运行包

(一)  打开 xp_cmdshell 选项  

SQL Server 2005 中引入的 xp_cmdshell 选项是服务器配置选项,使系统管理员能够控制是否可以在系统上执行 xp_cmdshell 扩展存储过程。默认情况下,xp_cmdshell 选项在新安装的软件上处于禁用状态,但是可以通过使用外围应用配置器工具或运行 sp_configure 系统存储过程来启用它,如下面的代码示例所示:

n                To allow advanced options to be changed. 

n                EXEC sp_configure 'show advanced options', 1 GO – 

n                To update the currently configured value for advanced options. RECONFIGURE GO -- To enable the feature. 

n                EXEC sp_configure 'xp_cmdshell', 1 GO – 

n                To update the currently configured value for this feature. RECONFIGURE GO

 

(二) 利用dtexec 实用工具执行包

dtexec使用方式请参考:
http://msdn2.microsoft.com/zh-cn/library/ms162810.aspx



方式一:直接通过允许ssis文件执行

使用如下命令 :xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx" 

方式二: 先将包导入sql 2005在执行


1)导入包

SQL2005打开Managemenet Studio,选择接Integration Services服务,选择 
“已存储的包”-”MSDB“,右键导入包,选择文件系统,指定用Business Intelligence Development Studio做好的包,选择导入

注意:保护级别选项中需要选择依靠服务器存储和角色进行访问控制


否则通过dtexec 运行包时会报错-说明: 无法解密受保护的 XML 节点“DTS:Password”,错误为 0x8009000B“该项不适于在指定状态下使用。”。可能您无权访问此信息。当发生加密错误时会出现此错误。请确保提供正确的密钥。

  

2) 导入完成后可在Managemenet Studio中执行语句

xp_cmdshell 'dtexec /DTS "\MSDB\wangluo" /SERVER "XXW2006_1"  /MAXCONCURRENT " -1 " /CHECKPOINTING OFF  /REPORTING V ' 

#14


如果我只想用它删除一个表的记录
1)到'控制流设计器'-->选执行sql任务
2)双击打开在connection中选建立的access连接,SQLStatement中输入delete语句

#15


谢谢了!

#16


还要问一句,为什么做的包里面有的组件上面有感叹号,有的没有,是不是有感叹号的表示有问题?
谢谢!

#17


你可以看一下,一般的警告没问题的

#1


很急,请好心人指点一下吧

#2


没有人理我,呜呜......

#3


创建包导入数据,调度包不行?

#4


创建包,怎么导,那些参数在哪设啊,我找不到像2000里面那种连ACCESS的连接啊,用thansfer database连接到源和目标都没有设指到access的地方,关键是我不会用,每一天接触2005,给个详细点的步聚行吗?多谢了......

#5


第一天接触,竟然打成了每一天接触,晕,:)

#6


呵呵,刚又看了一下,大概找到地方了,呵呵,再研究一下去

#7


选择 OLE DB 数据源->在链接管理器里 新建Microsfot Jet 4.0 OLE DB Provider,选择.mdf文件就可以了

#8


因为这个任务要在香港的电脑上完成,我用远程登入的,好不容易能登进去了,看几分钟又断了
哎,还是没研究会,我自己的电脑上没装2005
能否给个例子,最好详细点的步骤啊,我菜鸟别笑我哦,谢谢!

另外,我在链接管理器里新建OLE DB Provider没在MDF可选的,那是怎么回事?

#9


耐心的好心人帮下我,感谢!

#10


哎,为什么我能找到excel source ,找不到access source 啊
怎么回事?access装了Sql server2005后安装的,跟这会有关系吗?

#11


在数据流设计器中
1)拖动 左边工具箱->数据流源-> OLE DB 数据源到设计器中
2)双击OLE DB 数据源在 OLE DB 数据源编辑器中选新建->新建
3)在链接管理器提供程序下拉列表中选 Microsfot Jet 4.0 OLE DB Provider
4)在数据库名对话框中浏览选取access文件
5)填入登陆到access数据库的用户名和密码,如果没设,默认用户admin,密码为空
6)点击测试连接,看是否有误

#12


非常感谢happydreamer(重返csdn) 的帮助,还有两个问题,OLE DB Command一定要指定一个输入吗?如果我只想用它删除一个表的记录,要怎么设,我如果没指定输入好像删不掉,指定了又似乎进了死锁,一执行它就出不来,再有做好包后要定时执行的话(也就是常说的调度)要怎么设,呵呵,偷点懒,不想再去搜索了,再一次感谢!

#13


怎么调度包
一  首先在Business Intelligence中设计好包,并调试通过

二   选用dtexec工具运行包

(一)  打开 xp_cmdshell 选项  

SQL Server 2005 中引入的 xp_cmdshell 选项是服务器配置选项,使系统管理员能够控制是否可以在系统上执行 xp_cmdshell 扩展存储过程。默认情况下,xp_cmdshell 选项在新安装的软件上处于禁用状态,但是可以通过使用外围应用配置器工具或运行 sp_configure 系统存储过程来启用它,如下面的代码示例所示:

n                To allow advanced options to be changed. 

n                EXEC sp_configure 'show advanced options', 1 GO – 

n                To update the currently configured value for advanced options. RECONFIGURE GO -- To enable the feature. 

n                EXEC sp_configure 'xp_cmdshell', 1 GO – 

n                To update the currently configured value for this feature. RECONFIGURE GO

 

(二) 利用dtexec 实用工具执行包

dtexec使用方式请参考:
http://msdn2.microsoft.com/zh-cn/library/ms162810.aspx



方式一:直接通过允许ssis文件执行

使用如下命令 :xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx" 

方式二: 先将包导入sql 2005在执行


1)导入包

SQL2005打开Managemenet Studio,选择接Integration Services服务,选择 
“已存储的包”-”MSDB“,右键导入包,选择文件系统,指定用Business Intelligence Development Studio做好的包,选择导入

注意:保护级别选项中需要选择依靠服务器存储和角色进行访问控制


否则通过dtexec 运行包时会报错-说明: 无法解密受保护的 XML 节点“DTS:Password”,错误为 0x8009000B“该项不适于在指定状态下使用。”。可能您无权访问此信息。当发生加密错误时会出现此错误。请确保提供正确的密钥。

  

2) 导入完成后可在Managemenet Studio中执行语句

xp_cmdshell 'dtexec /DTS "\MSDB\wangluo" /SERVER "XXW2006_1"  /MAXCONCURRENT " -1 " /CHECKPOINTING OFF  /REPORTING V ' 

#14


如果我只想用它删除一个表的记录
1)到'控制流设计器'-->选执行sql任务
2)双击打开在connection中选建立的access连接,SQLStatement中输入delete语句

#15


谢谢了!

#16


还要问一句,为什么做的包里面有的组件上面有感叹号,有的没有,是不是有感叹号的表示有问题?
谢谢!

#17


你可以看一下,一般的警告没问题的