SSIS 2012 odbc源连接SqlServer配置DSN问题

浏览: 2229

问题说明


今天测试odbc源和ado.net源连接SqlServer抽取数据性能时,发现ssis2012 odbc了一个问题。我是Win10 64位系统,潜意识配置odbc源是64位。配置完发现报错了。

odbc的配置与oledb,ado.net配置有点不一样,先上图简单说下odbc的配置。

odbc配置步骤

控制面板——>管理工具 

出如下界面,发现没,odbc源有32位和64位的。以为自己本机是64位,就确定的选了64位的配置。ssis2012的odbc只能配32位的,下面再说原因。 

Clipboard Image.png

这里先选64位来说明问题。出现如图界面:

用户DSN:只对当前用户可见,且只能用于当前机器上。

系统DSN:系统数据源对当前机器上的所有用户可见.

文件DSN:可以由安装了相同驱动程序的用户共享.

说白了就是权限不同,这里选择系统DSN来说明问题。点击添加。

Clipboard Image.png

选择SQLServer ,填写名称,数据库服务器,

Clipboard Image.png

默认下一步再下一步,选择连接的数据库。一直下一步完成即可。

Clipboard Image.png

出现了刚刚设置的数据源“粽子job”

Clipboard Image.png


回到SSIS数据流配置odbc连接管理器。如图操作

Clipboard Image.png

Clipboard Image.png

在系统数据源找不到刚刚配置的 "粽子job"。

Clipboard Image.png



总结:原因虽然你安装的是64位的2012ssdt,但是2012里面还是用的2010的32位的shell命令。运行ssdt时可以发现。Clipboard Image.png

但是有一个问题很奇怪,选择用户DSN32位和64位odbc源都可以都出来(本地测试过了)。

总的来说:ssis2012 odbc配置选择用户DSN32或64,系统32DSN ODBC源都可以读出来。

推荐 1
本文由 粽子job 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

2 个评论

DSN不同吧
难道是用户DSN跟系统DSN的区别?

要回复文章请先登录注册