启动 SQL Server Management Studio ,点击 服务器对象--链接服务器--访问接口,
如果列表中有 Microsoft.ACE.OLEDB.12.0,就继续下一步,否则参见后面“步骤四”先安装访问access驱动程序。
为了简单,先创建 d:\d4.accdb 库文件,表为t1,字符字段有 [id] ,[name]等,随便输入几条记录。
而且 链接服务器 都使用自己的 127.0.0.1, 产品名称 随意输入。
一 直接连接文件方式
1 创建 链接服务器
右击 服务器对象--链接服务器,选择 新建链接服务器,
在 “常规”选项页中,输入如下(注意:访问接口 Office 12.0 Access):
链接服务器:127.0.0.1
服务器类型: 其他数据源
访问接口:Microsoft Office 12.0 Access Database Engine OLE DB Provider
产品名称:直接连接文件
数据源:d:\d4.accdb
其余可以空白,点 确定 创建
2 访问方式
在打开数据库master的情况下,在sql server的查询中输入
SELECT [id] ,[name] FROM [127.0.0.1]...[t1]
二 来自控制面板的ODBC方式
前提条件是先创建 ODBC 数据源access_odbc, 方法见后面的 三 创建ODBC 数据源
1 创建 链接服务器
右击 服务器对象--链接服务器,选择 新建链接服务器,
在 “常规”选项页中,输入如下(注意:访问接口 ODBC Drivers):
链接服务器:127.0.0.1
服务器类型: 其他数据源
访问接口:Microsoft OLE DB Provider for ODBC Drivers
产品名称:来自控制面板的ODBC
数据源:access_odbc
其余可以空白,点 确定 创建
2 访问方式
在打开数据库master的情况下,在sql server的查询中输入
SELECT * FROM OPENQUERY([127.0.0.1],'SELECT * FROM [D:\D4.accdb].[t1]')
INSERT OPENQUERY([127.0.0.1], 'SELECT * FROM [D:\D4.accdb].[t1]') ([id] ,[name]) VALUES ( '5','5');
DELETE FROM OPENQUERY([127.0.0.1], 'SELECT * FROM [D:\D4.accdb].[t1]') WHERE id ='5';
三 创建ODBC 数据源
控制面板--所有控制面板项--管理工具--数据源(ODBC)--转到 系统DSN 选项页,
1 选择数据源的驱动程序
点击【添加】,正常情况下列表中有如下(若没有的话,参见紧接该步骤之后的步骤2,
也可以参见后面的 四 同时安装64位和32位的access驱动)
针对32位选择: Microsoft Access Driver (*.mdb)
针对32位和64位选择: Microsoft Access Driver (*.mdb,*.accdb)
这里选择后者,以便支持两种(*.mdb,*.accdb),点【确定】返回。
在“数据源名”处,随意输入有意义的名称即可,比如 access_odbc
点【选择】,从中选择,创建的d:\d4.accdb,返回。
可选的点【高级】,从中输入 登录名:admin 和 密码:1 点【确定】返回。
点【确定】--可以点击【配置】做适当的修改,点【确定】 完成ODBC的创建。
如果有问题,可以继续进行下面的步骤
2 进入控制面增加数据源时,可能只有 SQLServer驱动,而没有其它的驱动引擎,
此时可以从以下两个文件夹执行程序,以加载不同版本的驱动引擎,看你要安装的是哪个版本而已
C:\Windows\SysWOW64\odbcad32.exe,加载 32位的驱动
C:\Windows\System32\odbcad32.exe,加载 64位的驱动
完成出创建ODBC后,在sql数据库管理下,创建 链接服务器,执行查询时出现 “驱动程序和应用程序之间的体系结构不匹配”,也可以来这里 为创建的数据源加载不同驱动版本,纠正错误。
四 同时安装64位和32位的access驱动
安装Office顺便就安装了ODBC驱动,也可以不安装Office直接安装ODBC驱动,就是从微软官网到网下载AccessDatabaseEngine.exe和AccessDatabaseEngine_x64.exe。
只不过安装了32位再安装64位会提示已经有了32位,不能继续安装。此时可以参考《关于Win7 64位系统通过ODBC访问Access的一点经验》
再去微软官网下载Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 ,就是一个程序winsdk_web.exe。
安装winsdk_web.exe后从默认目录C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\中找到一个MSI文件编辑器Orca.msi,继续运行Orca.msi安装。
接下来处理安装程序,先用解压程序比如Winrar把AccessDatabaseEngine_x64.exe解压缩,不能直接右键解压缩,要先运行Winrar,然后把AccessDatabaseEngine_x64.exe拖进去,解压出两个文件,其中一个是msi文件AceRedist.msi,这时从运行的Orca程序菜单中,把AceRedist.msi打开,在左边Tables里面找到LaunchCondition,在右边Condition中找到BLOCKINSTALLATION,把该条删除,然后保存。
接下来再运行AceRedist.msi,这回就不会提示已经安装了32位Office了,顺利安装结束,64位ODBC驱动就有了。
五 SQL Server 链接服务器 访问多种数据库
当然,链接服务器方式 也可以访问SQL Server, Excel ,oracle 等数据库,以便于集中处理。
1 对于 SQL Server
链接服务器:127.0.0.1
服务器类型: SQL Server
即可
这样 默认访问接口:Microsoft OLE DB Provider for SQL Server
2 对于 Excel ,早期的例子
链接服务器:127.0.0.1
服务器类型: 其他数据源
访问接口:Microsoft Jet 4.0 OLE DB Provider
产品名称:Excel 直接连接文件
数据源:d:\e.xls
访问接口字符串:Excel 8.0
其余可以空白,点 确定 创建
3 对于 Oracle,早期的例子
链接服务器:127.0.0.1
服务器类型: 其他数据源
访问接口:Microsoft OLE DB Provider for Oracle
产品名称:Oracle
数据源:svrtsm1wind
以上的都可以使用 控制登录, 比如:
在 安全 选项页
选择 使用此安全上下问建立连接
远程登录 admin
使用密码 1
其余可以空白,点 确定 创建
解决方式: