win7(64位)Sql server 用T-sql读取本地数据文件dbf的数据文件
Posted 游林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win7(64位)Sql server 用T-sql读取本地数据文件dbf的数据文件相关的知识,希望对你有一定的参考价值。
第一步启用Ad Hoc Distributed Queries 在SQLserver执行以下的语句:
exec sp_configure \'show advanced options\',1
reconfigure
exec sp_configure \'Ad Hoc Distributed Queries\',1
reconfigure
----允许在进程中使用ACE.OLEDB.12 在安装了 ACE2010的驱动才可以执行下面语句。
EXEC master.dbo.sp_MSset_oledb_prop N\'Microsoft.ACE.OLEDB.12.0\', N\'AllowInProcess\', 1
第二步 到数据库执行下面的查询语句
select * from OPENDATASOURCE(\'Microsoft.Jet.OLEDB.4.0\',\'Data Source="E:\\广州市\\GZYJ\\GZYJJK\\GZYJJK\\bin\\Debug\\DllG\\data";Extended properties=dBase 5.0\')...bs_factory
会报一个错误:
消息 7308,级别 16,状态 1,第 3 行
因为 OLE DB 访问接口 \'MICROSOFT.JET.OLEDB.4.0\' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。
是由于Windows64 位操作系统里面没有 ACE2010的驱动,64位的驱动
下载一个64位的驱动 ACE2010的驱动,64位的。 进行安装 ,但是这个驱动必须在office 64 位的环境才能正常安装。
安装前是要将系统中32 office 软件卸载掉 并且删除对应的 注册文件,然后重新安装一个office 64 位和ACE2010的驱动,64位的驱动
卸载office32 位后,打开 注册表进行删除
在打开的运行窗口中,输入命令regedit,然后点击确定按钮。
找到office注册表信息,路径如下:(win10环境下)
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office“
此外,也可通过在“编辑”工具栏下“查找”(快捷键:Ctrl+F),输入”office“在全字匹配”条件下进行查找。具体如图:
如有,找到“office”注册表项后,右击“删除”选项,删除原office残留注册表信息。
在打开的注册表编辑器窗口中,定位到HKEY_CLASSES_ROOT\\Installer\\Products注册表项。
在展开的注册表项中,我们找到以00002开头的注册表项,右键点击该项,在弹出菜单中选择“删除”菜单项。
这时会弹出一个确认项删除的窗口,点击“是”按钮即可。另外我们再删除所有以000051开头的注册表项,重新启动计算机后,再安装64位的Office就不会提示错误 了。
将这些删除干净后再 重新安装 office 2010 64位的
再安装相应的 ACE2010的驱动,64位的 。
执行一下语句
select * from
OPENDATASOURCE(\'Microsoft.ACE.OLEDB.12.0\',\'Data Source="E:\\DllG\\data";Extended properties=dBase 5.0\')...bs_reg
既可以查询到数据。
以上是关于win7(64位)Sql server 用T-sql读取本地数据文件dbf的数据文件的主要内容,如果未能解决你的问题,请参考以下文章
在Win7 64位电脑上安装Sql Server 2008 R2 Express
64位win7下安装SQL Server 2008(图文解说版)
64位的WINDOWS 7系统如何装SQL SERVER 2000数据库? 懂的来看下。。
求一个SQL SERVER 2000的WIN7 64位版,以及安装方法