当前位置:首页 » 编程软件 » odbc编译驱动

odbc编译驱动

发布时间: 2022-08-01 17:58:35

‘壹’ ODBC 怎么安装新的驱动程序

如果只有dll文件的话,我的安装方法是手工修改注册表...我装Sybase的ASE驱动就是这么搞的,具体改哪几个键网络上能查到

算了,把我Delphi的代码贴出来吧:
//以下为修改注册表,指向正确的动态链接库
procere TForm1.btn_SetRegeditClick(Sender: TObject);
var
_reg:TRegistry;
_AppPath:string;
begin
try
_reg.RootKey:=HKEY_LOCAL_MACHINE;
if _reg.OpenKey('SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers',True) then
_reg.WriteString('Sybase ASE ODBC Driver','Installed');//修改为已安装状态
_reg.CloseKey;
_reg.RootKey:=HKEY_LOCAL_MACHINE;
if _reg.OpenKey('SOFTWARE\ODBC\ODBCINST.INI\Sybase ASE ODBC Driver',True) then
begin
//修改动态链接库路径
_reg.WriteString('Driver',_AppPath+'Sybase_ASE_ODBC_DLL\syodase.dll');
Sleep(500);
_reg.WriteString('Setup',_AppPath+'Sybase_ASE_ODBC_DLL\syodases.dll');
Sleep(500);
end;
_reg.CloseKey;
_reg.RootKey:=HKEY_CURRENT_USER;
if _reg.OpenKey('SOFTWARE\ODBC\ODBC.INI\mis_data',True) then
_reg.WriteString('Driver',_AppPath+'Sybase_ASE_ODBC_DLL\syodase.dll');//修改动态链接库路径
Sleep(500);
_reg.CloseKey;
if _reg.OpenKey('SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources',True) then
_reg.WriteString('mis_data','Sybase ASE ODBC Driver');//修改数据源驱动程序类型
Sleep(500);
_reg.CloseKey;
Application.MessageBox('成功更新了注册表!','提示',MB_OK);
except
Application.MessageBox('注册Sybase ASE ODBC Driver驱动程序失败!','提示',MB_OK);
if _reg<>nil then
begin
_reg.CloseKey;
_reg.Free;
end;
end;
end;

主要就是修改一个安装状态和dll的路径.

‘贰’ ODBC驱动程序的介绍

一种动态链接库 (DLL),支持 ODBC 的应用程序(如 Excel)可以用它来访问 ODBC 数据源。每个 ODBC 驱动程序针对一个数据库管理系统 (DBMS),如 sql Server、Access 等等。

‘叁’ 如何在ODBC中添加驱动程序

SQL SERVER和SYBASE
之所以将这两种数据库一起是应为MS SQL Server是购买Sybase公司1987年推出的Sybase SQL Server,又称为大学版INGRES的第三代产品,所以他们实质是一样的。

SQL Server的新版本是SQL Server 7,SQL Server具有单进程愈多线索的体系结构。及SQL Server只有一个服务器进程,所有的客户都连接多这个进程上。但是,改进程又细分为多个并发的线索,他们共享数据缓冲区和CPU时间,能及时捕捉各用户进程发出的存取数据的请求,然后,按一定的调度算法处理这些请求,比操作系统直接对这些请求进行调度高效的多。

Microsoft提供了一个数据库引擎,应用范围可以从运行 Microsoft Windows 95/98操作系统的移动膝上型电脑,到运行 Windows NT Server操作系统企业版的兆兆字节对称多处理器群集。所有这些系统都能保证关键任务业务系统要求的安全性和可靠性。

SQL Server的事务处理量大,响应速度快,并能为数百或更多用户维持这种高性能。

SQL Server首先在核心层实现了数据完整性控制,包括建表时申明完整性和用触发器机制定义与应用有关的完整性。支持分布式查询与更新。

Sybase公司是1984年成立的,属于后起之秀。他推出了支持企业范围的“客户/服务器体系结构”的数据库。Sybase把“客户/服务器数据库体系结构”作为开发产品的重要目标。他们吸取了INGRES的研制经验,以满足联机事务处理应用的要求,与1987年推出了Sybase SQL Server,称为大学版INGRES的第三代产品。

Sybase System 11.5是其最新产品,支持企业内部各种数据库应用需求,如数据仓库、联机事务处理、决策支持系统和小平台应用等。

试试用SQL SERVER的ODBC连接
如果不可以,我觉得应该 安装Sybase System 11.5就应该在ODBC驱动里生成。

‘肆’ 为什么ODBC驱动程序不支持动态记录集

在使用VC进行数据库编程时我遇到一个问题。代码编译通过,在运行时突然弹出一个警告对话框:

我纳闷在哪里出了问题。我想唯一有可能的是连接数据库时出现了问题。于是我找到连接数据库的代码:

m_pdatabase->Open(NULL,FALSE,FALSE,"ODBC;DSN=libraryMIS;UID=txm;PWD=txm");
其中m_pdatabase是一个CDatabase类的指针。于是我查msdn,找到CDatabase的Open函数。CDatabase::Open

virtual BOOL Open( LPCTSTR lpszDSN, BOOL bExclusive = FALSE, BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = “ODBC;”, BOOL bUseCursorLib = TRUE ); throw( CDBException, CMemoryException );

我猜到问题可能出在哪儿了,我在BOOL bUseCursorLib设置了默认值TRUE。我得先看看bUseCursorLib表示什么意义。bUseCursorLib

TRUE if you want the ODBC Cursor Library DLL to be loaded. The cursor library masks some functionality of the underlying ODBC driver, effectively preventing the use of dynasets (if the driver supports them). The only cursors supported if the cursor library is loaded are static snapshots and forward-only cursors. The default value is TRUE. If you plan to create a recordset object directly from CRecordset without deriving from it, you should not load the cursor library.

大意是说假如bUseCursorLib为TRUE时,ODBC光标库将被加载。光标库会覆盖ODBC驱动程序的一些功能,有效地阻止动态记录集的使用(假如ODBC驱动程序支持动态记录集的使用的话)。假如光标库被加载唯一的光标支持的是静态快照集和唯一向前的光标。参数默认值是TRUE。假如你直接创建一个CRecordset类对象而不是继承自它,你不应该装载光标库。

因此问题的解决办法是将bUseCursorLib的值设为FALSE。当我这样做了,问题解决了。

‘伍’ sybase odbc驱动怎么配置

一、添加sybase数据源
在C:\Windows\SysWOW64下找到:odbcad32.exe这个文件,双击打开。
点击添加按钮,选择 对应的 驱动,然后就可用添加连接Oracle/Sybase的ODBC的数据源了。

二、sybase(ODBC)驱动安装
首先找一台已经安装了SYBASE的计算机,把SYBASE安装文件夹下面的ODBC文件夹中的几个DLL文件拷贝到要安装的计算机中,然后再从已安装SYBASE的计算机中将注册表中的
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Sybase ASE ODBC Driver
导出,当然还要修改一下导出文件中的DLL文件的路径,还要在导出的注册表文件中加入下边这么一行
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"Sybase ASE ODBC Driver"="Installed"

在要安装的计算机中导入。

总结:将以下信息保存为.reg文件,执行即可。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Sybase ASE ODBC Driver]
"AltDefaults"="1"
"APILevel"="1"
"ConnectionFunctions"="YYY"
"CPTimeout"="60"
"Driver"="C:\\sybase\\ODBC\\SYODASE.DLL"
"DriverODBCVer"="04.10"
"FileUsage"="0"
"Setup"="C:\\sybase\\ODBC\\SYODASES.DLL"
"SQLLevel"="0"
"HelpRootDirectory"="C:\\sybase\\ODBC\\help"
"UsageCount"=dword:00000002
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"Sybase ASE ODBC Driver"="Installed"

‘陆’ 如何安装oracle的odbc驱动

ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。

一个完整的ODBC由下列几个部件组成:

应用程序(Application)。

ODBC管理器(Administrator)。该程序位于Windows 95控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。

驱动程序管理器(Driver Manager)。驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。

ODBC API。

ODBC 驱动程序。是一些DLL,提供了ODBC和数据库之间的接口。

数据源。数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。

各部件之间的关系如图下图所示:

应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。

在ODBC中,ODBC API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。

在访问ODBC数据源时需要ODBC驱动程序的支持。用Visual C++ 5.0安装程序可以安装SQL Server、 Access、 Paradox、 dBase、 FoxPro、 Excel、 Oracle 和Microsoft Text等驱动程序.在缺省情况下,VC5.0只会安装SQL Server、 Access、 FoxPro和dBase的驱动程序.如果用户需要安装别的驱动程序,则需要重新运行VC 5.0的安装程序并选择所需的驱动程序。
参考资料:http://www.yesky.com/20020320/1602621.shtml

‘柒’ odbc驱动程序

你需要安装office 专业版或以上版本. 或者安装Access runtime. 可以从微软网站上载Access Runtime

‘捌’ 如何安装ODBC的pb驱动

一.安装步骤

一般地说发布一个PB应用除应用程序部件本身外,还应该包含如下文件及相关操作:
1. PowerBuilder运行时动态链接库( Runtime Library )。
2. 数据库接口:一方面包括PB提供的数据库专用接口或ODBC接口程序,另一方面包括不同数据库厂商提供的ODBC数据库驱动程序。
3. ODBC数据源的配置。

二.PowerBuilder运行时动态链接库( Runtime Library )。
不同版本的PB所需要的运行时动态链接库文件不尽相同,但库名有相似的地方,这些DLL都必须包含在应用程序目录或系统目录当中:

PB6.5所需文件:
必需 PBVM60.DLL PowerBuilder 虚拟机
可选 PBDWE60.DLL DataWindow 数据窗口引擎
可选 PBRTC60.DLL 超文本控件
可选 PBTRA60.DLL 数据库访问跟踪
可选 PBODB60.DLL PB的ODBC接口
可选 PBIN760.DLL INFORMIX 接口
可选 PBMSS60.DLL Microsoft SQL Server接口
可选 PBSYC60.DLL Sybase SQL Server接口
可选 PBO7360.DLL/PBO7260.DLL Oracle Version接口

PB7.0所需文件:
必需 PBVM70.DLL PowerBuilder 虚拟机
必需 LIBJCC.DLL PowerBuilder 库管理
可选 PBDWE70.DLL DataWindow 数据窗口引擎
可选 PBRTC70.DLL 超文本控件
可选 PBTRA70.DLL 数据库访问跟踪
可选 PBODB70.DLL PB的ODBC接口
可选 PBIN770.DLL INFORMIX 接口
可选 PBMSS70.DLL Microsoft SQL Server接口
可选 PBSYC70.DLL Sybase SQL Server接口
可选 PBO7370.DLL/PBO8470.DLL Oracle Version接口

PB8.0所需文件:
必需 PBVM80.DLL PowerBuilder 虚拟机
必需 LIBJCC.DLL PowerBuilder 库管理
可选 PBDWE80.DLL DataWindow 数据窗口引擎
可选 PBRTC80.DLL 超文本控件
可选 PBTRA80.DLL 数据库访问跟踪
可选 PBODB80.DLL PB的ODBC接口
可选 PBIN780.DLL INFORMIX 接口
可选 PBMSS80.DLL Microsoft SQL Server接口
可选 PBSYC80.DLL Sybase SQL Server接口
可选 PBO7380.DLL/PBO8480.DLL/PBO9080.DLL Oracle Version接口
以上文件可以在C:\Program Files\Sybase\Shared\PowerBuilder取得。

三. SQL Anywhere ODBC数据库驱动程序。

SQL Anywhere 5.0:
DBTL50T.DLL数据库工具
DBL50T.DLL 数据库接口
WODBC.HLP 帮助文档
WOD50T.DLL ODBC 驱动
WL50ENT.DLL 英文字符串
WTR50T.DLL ODBC翻译
DBENG50.EXE 数据库引擎

SQL Anywhere 6.0:
DBL60T.DLL,WODBC.HLP,WOD60T.DLL,WL60ENT.DLL,WTR60T.DLL,DBENG60.EXE

SQL Anywhere 7.0:
DBODBC7.DLL,DBLIB7.DLL,DBWTSP7.DLL,DBLGEN7.DLL,DBODTR7.DLL,DBENG7.EXE

四. ODBC数据源配置。
在包含以上文件之后,还必需对使用ODBC数据库方式的应用进行ODBC数据源的配置,以便在安装完毕后应用程序可以直接访问用户数据源。
下面以使用SQL Anywhere 5.0数据库创建的用户数据库为例来说明如何使用数据源管理器进行ODBC的手工配置及如何在安装程序中自动修改系统注册表,其他数据库可以参考SQL Anywhere 5.0进行操作。

1.使用数据源管理器配置用户数据源。
1.1. 安装SQL Anywhere数据库驱动程序,使数据源管理器中的"ODBC驱动程序"页增加一行SQL Anywhere的驱动说明。
1.2. 在"用户DSN"一页选择"添加",然后选择SQL Anywhere数据源,出现数据源的配置信息表后,将数据源名(Data Source Name),数据库名(Database File),用户ID号(User ID),用户密码(Password)等信息添齐,选择"OK"确认,此时在"用户数据源"的窗口中就会增加用户的数据库的ODBC驱动,选择"确认"后退出数据源管理器。

进行以上两步以后重新启动系统,用户就可以在运行应用程序后使用SQL Anywhere数据库。
2. 修改系统注册表配置用户数据源。
(以下注:C:\YourApp为用户应用程序目录,C:\YourApp\Sqlany50为应用程序包含的SQL Anywhere数据库驱动文件目录,YourDB.DB为用户数据库。)

在HKEY_LOCAL_MACHINE\software\ODBC\ODBC Drivers下,增加字符串键值:
Sybase SQL Anywhere 5.0 = "Installed"

在HKEY_LOCAL_MACHINE\software\ODBC\Sybase SQL Anywhere 5.0下,增加字符串键值:
Driver = "C:\YourApp\Sqlany50\WOD50T.DLL"
Setup = "C:\YourApp\Sqlany50\WOD50T.DLL"

在HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Source下,增加字符串键值:
TestDB = "Sybase SQL Anywhere 5.0"

在HKEY_CURRENT_USER\Software\ODBC\ODBC.INI下,增加主键:TestDB,并分别加入键值如下:
Autostop = "yes"
Databasefile = "C:\YourApp\YourDB.DB
Databasename = "TestDB"
Driver = "C:\YourApp\Sqlany50\WOD50T.DLL"
PWD = "sql"
Start = "C:\YourApp\Sqlany50\dbeng50.exe -d -c1024 -Q"
UID = "dba"

在用户的安装程序中将以上步骤加入,可以使用户的应用程序在不必安装SQL Anywhere数据库驱动下,也能直接访问用户数据源,从而实现用户应用程序的独立发布。

integer rc
string ls_dir,is_dbfile,is_datasource
ulong ls_buf
is_datasource="graate"
ls_buf=256
ls_dir=space(ls_buf)
GetCurrentdirectoryA(ls_buf,ls_dir)
is_dbfile=ls_dir+'\graate.db'
rc=profileint("first.ini","start","first",0)

if rc=1 then
if RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive Server Anywhere 7.0","Driver",RegString!,"dbodbc7.dll")=1 then
messagebox("恭喜你","数据源已注册成功!")
end if
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive Server Anywhere 7.0","Setup",RegString!,"dbodbc7.dll")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources","graate",RegString!,"Adaptive Server Anywhere 7.0")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Driver",RegString!,"dbodbc7.dll")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"UID",RegString!,"dba")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"PWD",RegString!,"sql")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DatabaseFile",RegString!,is_dbfile)
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"AutoStop",RegString!,"Yes")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Integrated",RegString!,"No")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DatabaseName",RegString!,"graate.db")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Debug",RegString!,"No")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DisableMultiRowFetch",RegString!,"No")
setprofilestring("first.ini","start","first","0")
end if

只需要把datasource等几个地方改一下就可以了
其中的graate是我的数据库名
if RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive Server Anywhere 7.0","Driver",RegString!,"dbodbc7.dll")=1
这一句就是driver的配置

‘玖’ Microsoft][ODBC 驱动程序管理器]未发现数据源名称并且未指定默认驱动器。。。vc++的编译错误,如鹏网代码

因为你没配置ODBC,配置就像楼上说的那样~

热点内容
php树菜单 发布:2025-02-09 10:04:10 浏览:359
linux保存ip 发布:2025-02-09 10:04:10 浏览:23
四川霜狼服务器怎么样 发布:2025-02-09 10:02:44 浏览:145
Vs中h编译选项是灰的 发布:2025-02-09 10:01:59 浏览:556
安卓43怎么升级44 发布:2025-02-09 09:51:33 浏览:463
美国云服务器快还是香港快 发布:2025-02-09 09:34:33 浏览:988
怎么解压qq文件 发布:2025-02-09 09:18:14 浏览:581
安卓最新怎么调灵敏度更稳 发布:2025-02-09 09:12:44 浏览:400
豌豆荚如何用安卓手机下载 发布:2025-02-09 09:11:57 浏览:213
吃鸡脚本辅助 发布:2025-02-09 09:09:29 浏览:6