国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何在DELPHI程序中動態設置ODBC數據源

運維 數據庫運維
在利用ODBC訪問數據庫時,通常的方法時是在ODBC管理面板中設置一個ODBC系統數據源(系統DSN),然后在DBD中或在程序中設置一個數據庫別名(Alias)對應該DSN,這樣就可以如愿以償地操作數據庫了. 本文介紹了在程序中動態設置系統DSN的方法,希望會對讀者有所幫助。

ODBC數據庫驅動程序設置DSN的秘密在注冊表中,所以要想動態地設置ODBC數據源,我們首先就要從注冊表開始。打開注冊表,到HKEY_LOCAL_MACHINE\Software\ODBC看一看它的設置。首先來看看系統中已安裝的ODBC數據庫驅動程序.在HKEY_LOCAL_MACHINE\Software\ODBC\ODBCInst.INI中,存放著已經安裝了的ODBC數據庫驅動程序的信息,從這里可以查到已安裝的ODBC數據庫驅動程序對應的DLL文件等信息.在ODBCInst.INI\ODBC Drivers的各個鍵值中,鍵名是驅動程序名稱(如Microsoft Access Driver(*.mdb)),鍵值為“Installed”,表示驅動程序已安裝。

在ODBCInst.INI\DriverName(DriverName為一個驅動程序名稱,如Microsoft Access Driver(*.mdb))中,有驅動程序的詳細信息,我們主要從這里獲得ODBC驅動程序對應的DLL文件的路徑和文件名,即鍵名Driver的鍵值,一般為"C:\WINDOWS\SYSTEM\FileName.DLL".然后來看系統DSN的注冊信息,在HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI中,存放著系統DSN的注冊信息,我們在ODBC管理面板設置的DSN參數就在這里。

下面來看看創建一個ODBC系統DSN的步驟,即我們在ODBC管理面板中完成參數設置后,ODBC管理程序是怎么在注冊表中注冊DSN信息的.以創建一個名稱為MyAccess的Ms Access97類型的系統DSN為例,我們指定的參數主要有數據庫類型(Microsoft Access Driver(*.mdb))、數據源名稱(MyAccess)、數據源描述(我的ACCESS)、數據庫路徑(C:\Inetpub\wwwroot\Test.mdb),其它參數如用戶名稱、用戶密碼、獨占、只讀、系統數據庫、默認目錄、緩沖區大小、掃描行數、頁超時等采用系統缺省參數.這時,注冊系統DSN一般應有以下幾個步驟:

1.在HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\ODBC Data Sources中增加一個字符串鍵值,為MyAccess = Microsoft Access Driver(*.mdb),其中分別為數據源名稱和數據庫類型.這是在注冊表中注冊一個系統DSN名稱.

2.在HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI中創建一個子鍵(SubKey)MyAccess,即創建一個鍵為HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\MyAccess,然后在其下創建一些鍵值,詳細描述一個系統DSN的配置信息,主要信息有([]中的內容為筆者注釋):

 

  1. DBQ=C:\Inetpub\wwwroot\Test.mdb [字符串,表示數據庫路徑]  
  2.  
  3. Description=我的ACCESS [字符串,表示數據庫描述]  
  4.  
  5. Driver=C:\PWIN98\System\odbcjt32.dll [字符串,表示驅動程序,可見ODBCINST.INI]  
  6.  
  7. DriverId=0x00000019(25) [數字,表示驅動程序標識,不能改變]  
  8.  
  9. FIL=Ms Access; [字符串,可能與過濾Filter有關]  
  10.  
  11. SafeTransaction=0x00000000 [數字,可能表示支持事務性操作的個數]  
  12.  
  13. UID="" [字符串,表示用戶名稱,此處為空字符串] 

 

3.在HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\MyAccess中創建一個子鍵(SubKey)Engines,再在其下創建子鍵(SubKey)Jet,即創建一個鍵為HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\MyAccess\Engines\Jet,然后在其下創建一些鍵值,詳細描述一個系統DSN的數據庫引擎配置信息,主要信息有([]中的內容為筆者注釋):

 

  1. ImplicitCommitSync=Yes [字符串,可能表示是否立即反映數據修改]  
  2.  
  3. MaxBufferSize=0x00000200(512) [數字,表示緩沖區大小]  
  4.  
  5. PageTimeout=0x00000005(5) [數字,表示頁超時]  
  6.  
  7. Threads=0x00000003(3) [數字,可能表示支持的***線程數目]  
  8.  
  9. UserCommitSync=Yes [字符串,可能表示是否立即將數據修改反映到用戶] 

 

以上是建立一個系統DSN的基本信息(其它信息如選項或高級選項等信息也在這里設置,只不過因采用默認信息,注冊表里沒有列出),我們在程序中按上述步驟操作注冊表,同樣也能增加一個系統DSN或修改其配置.

#p#

在下面的例子程序中,將按以上步驟建立一個系統DSN,請注意程序中的注釋.

{*******************************************************

在本程序中,創建一個ODBC系統數據源(DSN),

數據源名稱:MyAccess 數據源描述:新數據源

數據庫類型:ACCESS97

對應數據庫:C:\Inetpub\wwwroot\test.mdb

*******************************************************}

{ 注意應在USES語句中包含Registry }

 

  1. procedure TForm1.Button1Click(Sender: TObject);  
  2.  
  3. var  
  4.  
  5. registerTemp : TRegistry;  
  6.  
  7. bData : array[ 0..0 ] of byte;  
  8.  
  9. begin  
  10.  
  11. registerTemp :TRegistry.Create; //建立一個Registry實例  
  12.  
  13. with registerTemp do  
  14.  
  15. begin  
  16.  
  17. RootKey:=HKEY_LOCAL_MACHINE;//設置根鍵值為HKEY_LOCAL_MACHINE  
  18.  
  19. //找到Software\ODBC\ODBC.INI\ODBC Data Sources  
  20.  
  21. if OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',True) then  
  22.  
  23. begin //注冊一個DSN名稱  
  24.  
  25. WriteString( 'MyAccess', 'Microsoft Access Driver (*.mdb)' );  
  26.  
  27. end  
  28.  
  29. else  
  30.  
  31. begin//創建鍵值失敗  
  32.  
  33. memo1.lines.add('增加ODBC數據源失敗');  
  34.  
  35. exit;  
  36.  
  37. end;  
  38.  
  39. CloseKey;  
  40.  
  41. //找到或創建Software\ODBC\ODBC.INI\MyAccess,寫入DSN配置信息  
  42.  
  43. if OpenKey('Software\ODBC\ODBC.INI\MyAccess',True) then  
  44.  
  45. begin  
  46.  
  47. WriteString( 'DBQ', 'C:\inetpub\wwwroot\test.mdb' );//數據庫目錄  
  48.  
  49. WriteString( 'Description', '我的新數據源' );//數據源描述  
  50.  
  51. WriteString( 'Driver', 'C:\PWIN98\SYSTEM\odbcjt32.dll' );//驅動程序DLL文件  
  52.  
  53. WriteInteger( 'DriverId', 25 );//驅動程序標識  
  54.  
  55. WriteString( 'FIL', 'Ms Access;' );//Filter依據  
  56.  
  57. WriteInteger( 'SafeTransaction', 0 );//支持的事務操作數目  
  58.  
  59. WriteString( 'UID', '' );//用戶名稱  
  60.  
  61. bData[0] :0;  
  62.  
  63. WriteBinaryData( 'Exclusive', bData, 1 );//非獨占方式  
  64.  
  65. WriteBinaryData( 'ReadOnly', bData, 1 );//非只讀方式  
  66.  
  67. end  
  68.  
  69. else//創建鍵值失敗  
  70.  
  71. begin  
  72.  
  73. memo1.lines.add('增加ODBC數據源失敗');  
  74.  
  75. exit;  
  76.  
  77. end;  
  78.  
  79. CloseKey;  
  80.  
  81. //找到或創建Software\ODBC\ODBC.INI\MyAccess\Engines\Jet  
  82.  
  83. //寫入DSN數據庫引擎配置信息  
  84.  
  85. if OpenKey('Software\ODBC\ODBC.INI\MyAccess\Engines\Jet',True) then  
  86.  
  87. begin  
  88.  
  89. WriteString( 'ImplicitCommitSync', 'Yes' );  
  90.  
  91. WriteInteger( 'MaxBufferSize', 512 );//緩沖區大小  
  92.  
  93. WriteInteger( 'PageTimeout', 10 );//頁超時  
  94.  
  95. WriteInteger( 'Threads', 3 );//支持的線程數目  
  96.  
  97. WriteString( 'UserCommitSync', 'Yes' );  
  98.  
  99. end  
  100.  
  101. else//創建鍵值失敗  
  102.  
  103. begin  
  104.  
  105. memo1.lines.add('增加ODBC數據源失敗');  
  106.  
  107. exit;  
  108.  
  109. end;  
  110.  
  111. CloseKey;  
  112.  
  113. memo1.lines.add('增加新ODBC數據源成功');  
  114.  
  115. Free;  
  116.  
  117. end;  
  118.  
  119. end; 

 

通過上面的代碼,我們就能夠在程序中動態設置ODBC數據源了。

【編輯推薦】

  1. C#利用ODP.net連接Oracle數據庫
  2. 怎樣把數據庫連接字符串存入注冊表中
  3. 利用Sql Server將Excel中的數據導入Oracle
  4. ASP通過Oracle Object for OLE對Oracle查詢
責任編輯:趙鵬 來源: 設計前沿
相關推薦

2010-12-27 09:59:11

ODBC數據源

2010-07-26 13:18:20

SQL Server

2025-11-26 01:25:00

數據源系統分庫分表

2010-07-23 13:17:05

SQL Server

2011-04-06 13:40:48

Delphi

2023-07-29 11:54:44

KuberneteNFS

2021-03-10 19:01:02

SQL數據源

2009-06-15 13:24:46

JBoss數據源

2022-05-10 10:43:35

數據源動態切換Spring

2025-01-17 09:11:51

2025-08-26 01:15:00

Spring項目數據源

2020-11-24 09:56:12

數據源讀寫分離

2009-07-28 14:22:05

數據源控件ASP.NET

2009-07-07 10:47:58

Servlet開發環境

2024-03-28 09:46:50

2024-04-30 09:17:06

SpringBootMybatis動態數據源

2023-11-27 09:16:53

Python數據源類型

2011-05-18 10:42:48

2017-09-04 14:52:51

Tomcat線程數據源

2010-05-14 15:32:51

配置MySQL
點贊
收藏

51CTO技術棧公眾號

9l视频自拍九色9l视频成人| xxxx影院| 日韩精品不卡| 91免费国产精品| 免费动漫网站在线观看| 免费av一区二区三区四区| 91亚洲永久精品| 91精品国产欧美日韩| 亲子乱一区二区三区电影| www.一区二区三区| 噜噜噜久久亚洲精品国产品麻豆| 欧美日韩激情四射| 玖玖在线免费视频| 97人澡人人添人人爽欧美| 欧美**vk| 亚洲一区在线观看网站| 欧美精品自拍偷拍动漫精品| 亚洲免费福利视频| 男人天堂亚洲| 欧美嫩在线观看| 搞黄视频在线观看| 欧美日韩在线影院| 中文字幕一区二区三区免费视频| 亚洲国产日日夜夜| 日本福利在线观看| 欧美性色aⅴ视频一区日韩精品| 成人免费在线电影| 欧美性xxxxxxxx| 678在线观看视频| 在线视频欧美精品| 男女18免费网站视频| 樱桃国产成人精品视频| 深夜福利免费在线观看| 亚洲电影一区二区| 国产三级av在线| 色系网站成人免费| 老司机精品影院| 综合久久久久久| 久久久久久久少妇| 狠狠色丁香九九婷婷综合五月| 91手机在线观看| 日韩深夜福利| xx视频.9999.com| 91色在线看| 日韩欧美一二三| 成人看av片| 欧美怡红院视频| 在线免费色视频| 亚洲人成在线观看一区二区| 日本阿v视频在线观看| 国产精品日本| 国产精品成人一区二区三区 | 精品成人一区| 91精品国产一区| 成入视频在线观看| 亚洲女人小视频在线观看| 国产成人一区二区| 国产探花一区| 欧美黄色免费网址| 91麻豆精品国产自产在线观看一区 | 日韩精品分区| 成人高清伦理免费影院在线观看| 亚洲欧美在线x视频| 成年人免费视频观看| 青青草97国产精品免费观看| 国产精品h片在线播放| 天堂а√在线资源在线| 日韩一区二区免费电影| 麻豆视频在线免费观看| 精品成人av一区| 国产精品久久久久久久久电影网| 免费成人在线观看视频| 欧美久久久久久久| 99久久精品费精品国产风间由美| 欧美激情精品在线 | 国产亚洲精品久久久久久久| 欧美家庭影院| 国产一区二区影院| av激情久久| 夜夜春成人影院| 粉嫩av一区二区三区在线播放 | 欧美激情麻豆| 国产欧美欧洲在线观看| 99精品欧美| 色婷婷777777仙踪林| 成人福利在线看| 久久久免费视频网站| 欧美国产欧美亚州国产日韩mv天天看完整| 日韩免费毛片视频| 成人h小游戏| 国产精品久久久久久久久久免费看| 日本在线播放一区| 国产不卡一二三区| 欧美精品国产精品日韩精品| 亚洲永久视频| 毛片av在线播放| 精品视频在线观看网站| 国产69精品久久久久久| 免费成人在线电影| 国产精品丝袜黑色高跟| www成人免费| 国产精品久久久久久久久快鸭| 波多野结衣家庭教师在线播放| 99久久久国产精品免费蜜臀| 成人综合av网| 噜噜噜天天躁狠狠躁夜夜精品| 欧美性xxxxxxxx| 国产精品久久久久9999爆乳| 久久激情中文| 最新欧美日韩亚洲| 99精品国产一区二区三区不卡| 成人免费xx| 91高清视频在线| 欧美aa在线| 国内自拍欧美激情| 狠狠色丁香久久综合频道| 日本a级片在线观看| 国产欧美一区二区精品久导航 | 自拍偷拍99| 91精品久久久久久久蜜月| 国产在线精品一区二区三区| 国产日韩欧美高清免费| 欧美日产一区二区三区在线观看| 久久丁香综合五月国产三级网站| 国产在线视频在线| 久久久99精品久久| 成人动漫h在线观看| 亚洲国产综合在线| 欧洲毛片在线| 91精品国产91久久久久久一区二区| xxxx另类黑人| 亚洲人av在线影院| 91另类视频| 97超级碰碰碰| 蜜臀久久久99精品久久久久久| 亚洲人精品午夜射精日韩| 26uuu亚洲综合色| 日韩精品视频久久| eeuss国产一区二区三区| 久久99精品久久久久久三级 | 欧美亚洲动漫精品| 男人操女人免费软件| 国产91精品一区二区麻豆网站| 日本一区视频在线播放| 丝袜亚洲另类欧美| 国产视频一区二区三区在线播放| 精品视频全国免费看| 乱妇乱女熟妇熟女网站| 欧美18xxxx| 欧洲亚洲免费在线| av不卡在线观看| av岛国在线| 欧美一级爽aaaaa大片| 亚洲第一综合色| а√中文在线天堂精品| 先锋影音日韩| 日韩欧美国产高清91| 欧美精品国产白浆久久久久| 黄网站色视频免费观看| 欧美精品一区二区三区视频| 免费观看不卡av| 亚洲第一导航| 亚洲一区二区高清| 97久久香蕉国产线看观看| 26uuu亚洲国产精品| 亚洲激情中文| 欧美黄色免费网址| 91福利社在线观看| 日日夜夜亚洲| 国产综合 伊人色| 91性感美女视频| 亚洲色图美国十次| 在线中文字幕-区二区三区四区| 亚洲丁香婷深爱综合| 蜜桃视频m3u8在线观看| 久久久久国产精品免费网站| 成人豆花视频| 老牛影视免费一区二区| 粉嫩蜜臀av国产精品网站| 理论片在线观看理伦片| 日韩免费视频一区| 国产精品视频首页| 国产成人精品视频在线观看| 亚洲国产专区| 亚洲一区三区| 国产乱对白刺激视频不卡| 欧美hdsex| 中文字幕第一区第二区| 日韩一级理论片| 欧洲一区二区三区在线| 日本不卡1234视频| 亚洲欧美国产视频| 99re6这里只有精品| 奇米影视一区二区三区| 在线视频国产区| 成人免费xxxxx在线观看| 亚洲国产综合色| 日韩精品成人| www.中文字幕在线| 精品国产乱码久久|