當前位置:首頁 » 編程軟體 » 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,配置就像樓上說的那樣~

熱點內容
targz解壓縮 發布:2025-02-09 06:59:19 瀏覽:311
wpsphp 發布:2025-02-09 06:58:41 瀏覽:961
視易鋒雲系統如何架設輔助伺服器 發布:2025-02-09 06:47:08 瀏覽:769
mysql備份腳本shell 發布:2025-02-09 06:46:33 瀏覽:15
騰訊雲伺服器怎樣調整解析度 發布:2025-02-09 06:46:30 瀏覽:369
php上一個頁面 發布:2025-02-09 06:41:25 瀏覽:489
改裝配置後不想重啟怎麼辦 發布:2025-02-09 06:36:40 瀏覽:446
演算法復雜度定義 發布:2025-02-09 06:30:46 瀏覽:586
昵圖源碼介面 發布:2025-02-09 06:30:37 瀏覽:725
微信怎麼沒有支付密碼 發布:2025-02-09 06:29:52 瀏覽:34