ODBC管理器相关知识汇总
来源:互联网 发布:书生商友推广软件 编辑:程序博客网 时间:2024/06/05 10:54
ODBC管理器相关知识汇总
最近,在使用终端应用程序调用数据库文件时,发生了:ODBC问题之驱动程序和应用程序之间的体系结构不匹配等问题,通过查阅资料,小有收获,汇总如下:
- ODBC:开放数据库互连,Open DatabaseConnectivity,是微软公司开放服务结构(WOSA,Windows Open ServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
DSN: DSNDataSourceName数据来源名称)有三个分别的数据来源:
用户DSN,是只对建立它的用户可用(是你的数据库的名字,随你便?……)
系统DSN是建立一个系统级的DSN,就是对该系统的所有登录用户可用(是连接的数据库类型,如sql server,access?)
文件DSN 是建立一个 DSN 的文件, 信息存在文件里
- 驱动程序:也是一个动态连接链接库文件,支持 ODBC的应用程序(如 Excel)可以用它来访问 ODBC 数据源。每个 ODBC 驱动程序针对一个数据库管理系统 (DBMS),如 SQLServer、Access 等等。当应用程序呼叫ODBC函数,SQLConnect或SQLDriverConnect时,驱动管理器就会加载相对的驱动程序与应用程序呼应。驱动程序主要是执行ODBC之相对函数,并与对应的数据源(DataSource)做沟通。驱动程序之工作如下:
1. Establishes a connect to a data source.
2. Submits requests to a data sources.
3. Translates data to or from other formats,if requested by theapplication.
4. Return results to the application.
5. Formats errors into standard error codes and returns them to theapplication.
6. Declares and manipulates cursors if necessary (invisible to theapplication).
7. Initiates transactions if the data source requires explicittransaction initiation(invisible to the app).
1、检查ODBC中安装的各种驱动程序的版本(非指ODBC版本!)
如:检查 ODBC SQL Server 驱动程序版本(32 位 ODBC),有关 Microsoft SQL Server项的信息显示在“版本”列中。
WOW64 支持:
WOW64(Windows 64 位上的 Windows 32 位)是 Windows 64 位版本中的一项功能,使用该功能可以在32 位模式下本机运行 32 位应用程序。 尽管基础操作系统是 64 位操作系统,但应用程序以 32 位模式工作。 SQLServer 2016 安装不支持 WOW64。 但是,WOW64 支持管理工具。
由于程序是32位的所以应该配置32位的odbc源
运行程序:C:\Windows\SysWOW64\odbcad32.exe
对于64位的程序则配置64位的odbc源,位置在C:\Windows\System32\odbcad32.exe
4、32位Microsoft Office默认的32位ODBC驱动程序改变为64位ODBC驱动程序(特殊处理!)
32位的Microsoft Office软件,默认安装32位ODBC驱动程序,如何单独安装对应的64位OFFICE的ODBC驱动程序?
64位ODBC驱动程序 Access 及 Excel
64位windows平台默认不安装Access的64位ODBC驱动,此下载将安装一系列组件,帮助在现有的 MicrosoftOffice 文件(例如 Microsoft Office Access 2010(*.mdb 和 *.accdb)文件和Microsoft Office Excel 2010(*.xls、*.xlsx 和 *.xlsb)文件)与其他数据源(例如Microsoft SQL Server)之间传输数据。还支持与现有文本文件建立连接。此外,还会安装 ODBC 和 OLEDB驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。
AccessODBC驱动原版资源:https://www.microsoft.com/en-us/download/details.aspx?id=13255
AccessDatabaseEngine.exe(32位)、AccessDatabaseEngine_X64.exe(64位)
(1)下载安装64位Office 2010 (常规方法)
一个好消息是Office 2010有了64位版本,同时微软也发布了64为的ODBC驱动程序。见上!
(2)32位Office 2010 安装64为的ODBC驱动程序(特殊处理)
我们的机器上可能都已经安装了Office2007等32位的Office,下载AccessDatabaseEngine_X64.exe安装时多半会碰到下面的错误信息,从而无法继续。
只有升级到Office 201064位版一条路可以走了么?可是貌似微软都建议我们用32位的而不是64位的,我可不想就为这一个ODBC去升级惹麻烦。下面是Microsoft关于是用Office32还是64的回答。
Yes, 64-bit Office 2010 productupgrades will be available. However we strongly recommend mostusers install 32-bit version of Office 2010 on both 32 and 64-bitOperating Systems because currently many common add-ins for Officewill not function in the 64-bit edition. The 64-bit installation ofMicrosoft Office 2010 products will be available for users whocommonly use verylarge documents or data set and need Excel 2010programs to access greater than 2GB of memory. There may betechnical issues with the 64-bit version and in order to install a64-bit version of Office 2010 product users must have a 64-bitsupported operating system on their PC.
http://office2010.microsoft.com/en-us/tech-guarantee/microsoft-office-2010-technology-guarantee-faq-HA101812304.aspx?redir=0
所以应该找个办法能在安装了32位Office的机器上安装这个64位的ODBC驱动。下面是更改方法:
先用RAR把AccessDatabaseEngine_X64.exe解压缩,里面会有一个AceRedist.msi安装文件,然后用Orca(下载地址http://www.pc6.com/softview/SoftView_14253.html#download)打开这个MSI,找到LaunchCondition里面的BLOCKINSTALLATION,删掉,保存。现在在运行AceRedist.msi,非常顺利。经过测试,使用正常。下图为64位ODBC程序界面:
Orca 是一款由微软提供的用于 Windows Installer 数据库表编辑器。可用来编辑 Windows Installer数据库文件 (.msi) 文件,合并模块 (.msm) 文件,补丁 (.msp) 文件,内部一致性计算程序 (.cub)文件和补丁创建属性 (.pcp) 文件。是修改和本地化 Windows Installer 数据库的最佳辅助工具。
方法一:查看软件安装路径
第一步、对着软件图标击右键,选择属性
第二步、查看看软件的安装路径,在软件属性界面,查看“目标”选项后面,看软件安装在哪一个文件夹,如下图所示,安装在ProgramFiles (x86)文件夹就是32位软件;安装在Program Files文件夹的软件就是64位软件。
打开任务管理器,看软件在任务管理器里面的进程后面有没有*32;有的话是32位软件;没有的话就是64位软件,如我们查看VMware虚拟机的位数,如下图所示
顺利建好odbc后,eclipse下连接又出现了问题:
本机:64位win7,64位JDK,做Web实验用32位myeclipse不管是Access还是SQLServer连接数据库都出问题后,我终于明白当初做Java实验为啥连不上Access数据库但SQLServer没问题了,现在完美解决,哈哈!
- 关于JDK释义
注:
其他参考:
搭建asp.net网站http://blog.sina.com.cn/s/blog_48ad94910102x9b0.html
- ODBC管理器相关知识汇总
- 索引相关知识汇总
- 磁盘阵列相关知识汇总
- ext相关知识汇总
- 监听器相关知识汇总
- 过滤器相关知识汇总
- Servlet相关知识汇总
- CDN 相关知识汇总
- Logback相关知识汇总
- xserver相关知识汇总
- ODBC管理器
- openCV论坛相关知识汇总
- 分页的相关知识汇总
- 进程、线程相关知识汇总
- Android 字体相关知识汇总
- Anti-spam相关知识汇总
- 网络知识相关资源汇总
- Spark2.0 相关知识汇总
- MQL4关键函数学习
- MQL4内置函数--总结汇总
- EA设计零起点!点点鼠标就能…
- 设计模式(14)-模板模式
- EA 编程 问题集
- ODBC管理器相关知识汇总
- 64位系统使用Access 数据库文…
- thread_init_early
- 轻松解决Win7(8)系统共享打印机…
- java被安全阻止解决
- NC数据字典
- Excel技巧:IF{1,0}用法详解
- 关于人生路的思考
- char指针与char数组的区别(非常详细!)