odbc數(shù)據(jù)源 odbc數(shù)據(jù)源配置access怎么配置呢

ODBC(Open Database Connectivity,開放數(shù)據(jù)庫互連)是 微軟公司開放服務(wù)結(jié)構(gòu)(WOSA,Windows Open Services Architecture)中有關(guān)數(shù)據(jù)庫的一個(gè)組成部分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)API( 應(yīng)用程序編程接口)。這些API利用SQL來完成其大部分任務(wù)。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。
  一組數(shù)據(jù)的位置,可以使用 ODBC 驅(qū)動(dòng)程序訪問該位置。

一個(gè)基于ODBC的 應(yīng)用程序?qū)?shù)據(jù)庫的操作不依賴任何DBMS,不直接與DBMS打交道,所有的數(shù)據(jù)庫操作由對應(yīng)的DBMS的ODBC驅(qū)動(dòng)程序完成。也就是說,不論是FoxPro、Access還是 Oracle數(shù)據(jù)庫,均可用ODBC API進(jìn)行訪問。由此可見,ODBC的最大優(yōu)點(diǎn)是能以統(tǒng)一的方式處理所有的數(shù)據(jù)庫。
  特點(diǎn):
   ODBC技術(shù)以C\S結(jié)構(gòu)為設(shè)計(jì)基礎(chǔ),它使得應(yīng)用程序與DBMS之間在邏輯上可以分離,使得應(yīng)用程序具有數(shù)據(jù)庫無關(guān)性。ODBC定義了一個(gè)API,每個(gè)應(yīng)用程序利用相同的 源代碼就可以訪問不同的 數(shù)據(jù)庫系統(tǒng),存取多個(gè)數(shù)據(jù)庫中的數(shù)據(jù)。與嵌入式SQL相比,ODBC一個(gè)最顯著的優(yōu)點(diǎn)是用它生成的應(yīng)用程序與數(shù)據(jù)庫或數(shù)據(jù)庫引擎無關(guān)。
  ODBC使應(yīng)用程序具有良好的互用性和可移植性,并且具備同時(shí)訪問多種DBS的能力,從而克服了 傳統(tǒng)數(shù)據(jù)庫應(yīng)用程序的缺陷。

 

1.敲完學(xué)生和機(jī)房后,只知道配置ODBC數(shù)據(jù)源是為了連接vb與SQL?實(shí)現(xiàn)vb與數(shù)據(jù)庫的完美交互,那么為什么要配置ODBC那:

主要是方便管理

1?你肯定要鏈接數(shù)據(jù)庫

2?那么你肯定要用戶名和密碼

3?正式的數(shù)據(jù)庫和應(yīng)用服務(wù)器應(yīng)該是單獨(dú)的人員管理,而不是開發(fā)人員

4?密碼會(huì)定期修改

5?如果鏈接數(shù)據(jù)庫是各自書寫代碼和配置,則運(yùn)行環(huán)境的密碼修改將會(huì)是一個(gè)噩夢,一不小心就忘記一個(gè)

6?所以,大家全部到一個(gè)數(shù)據(jù)源那里獲取連接。管理員只需要修改數(shù)據(jù)源的配置,而無需修改應(yīng)用的配置

7?如果數(shù)據(jù)庫的地址變更,則同樣不會(huì)影響到應(yīng)用,也只是修改數(shù)據(jù)源

8?開發(fā)人員無需知道正式數(shù)據(jù)庫的密碼

2.名詞解釋即用途

ODBC即OPEN?DATABASE?CONNECITON的縮寫,意為開放數(shù)據(jù)庫連接,是微軟提出的一種數(shù)據(jù)訪問的方法,只要數(shù)據(jù)庫提供了ODBC驅(qū)動(dòng)程序,應(yīng)用程序就能以O(shè)DBC的方式訪問數(shù)據(jù)庫中的數(shù)據(jù)。

為了便于訪問數(shù)據(jù),WINDOWS系統(tǒng)提供了ODBC數(shù)據(jù)源管理工具,該工具用來設(shè)置數(shù)據(jù)源的名字
DSN(DATA?SOURCE?NAME)。所謂DSN只不過是一個(gè)數(shù)據(jù)源的標(biāo)志,設(shè)置它的目的是便于應(yīng)用程序訪問數(shù)據(jù),也就是說,只要為某個(gè)數(shù)據(jù)庫設(shè)置了相應(yīng)的DSN,應(yīng)用程序就不必理會(huì)該數(shù)據(jù)庫存儲(chǔ)的位置和驅(qū)動(dòng)程序,可以按DSN直接訪問數(shù)據(jù)庫。
DSN有三種類型:用戶DSN、系統(tǒng)DSN和文件DSN,下面分別講述這三種DSN。
用戶DSN??用戶DSN只對設(shè)置它的用戶可見,而且只能在設(shè)置了該DSN的機(jī)器上使用。
系統(tǒng)DSN??系統(tǒng)DSN對機(jī)器上的所用戶都是可見的,包括NT服務(wù)。

文件DSN??將DSN的配置信息存在一個(gè)文件里,這樣的文件就叫文件DSN。

ODBC數(shù)據(jù)源全稱是開放數(shù)據(jù)庫互連(Open?Database?Connectivity),在微軟公司開放的數(shù)據(jù)庫結(jié)構(gòu)中的一部分,其實(shí)是一個(gè)應(yīng)用程序的接口,主要用于提供數(shù)據(jù)庫的編寫應(yīng)用程序的能力。

ODBC數(shù)據(jù)源

因?yàn)槭俏④浌景l(fā)布的軟件,ODBC也提供了SQL語句的支持,用戶可以通過ODBC提供的API接口來使用和調(diào)度ODBC驅(qū)動(dòng)程序,然后ODBC驅(qū)動(dòng)程序通過SQL語言與數(shù)據(jù)庫管理系統(tǒng)進(jìn)行聯(lián)系。

? ??ODBC數(shù)據(jù)源在每臺(tái)計(jì)算機(jī)中基本都存在,以WindowsXP為例,打開控制面板—系統(tǒng)工具—數(shù)據(jù)源?(ODBC),很見到可以找到。雙擊打開ODBC數(shù)據(jù)源管理器,該管理器主要用于配置、添加、刪除各種不同的數(shù)據(jù)源,ODBC數(shù)據(jù)源對此專門進(jìn)行了簡潔化,可以讓用戶更加方便的進(jìn)行數(shù)據(jù)源的配置。

? ??下面介紹一下ODBC數(shù)據(jù)源管理器的主要功能:

? ??1、用戶DSN:ODBC用戶數(shù)據(jù)源存儲(chǔ)了如何與指定數(shù)據(jù)提供者連接的信息。用戶數(shù)據(jù)源只對當(dāng)前的用戶可見,而且只能應(yīng)用在本機(jī)上。?

? ??2、系統(tǒng)DSN:ODBC系統(tǒng)數(shù)據(jù)源存儲(chǔ)了如何與指定數(shù)據(jù)提供者連接的信息。系統(tǒng)數(shù)據(jù)源對當(dāng)前機(jī)器上的所有用戶可見。

? ??3、文件DSN:ODBC文件數(shù)據(jù)源允許用戶連接數(shù)據(jù)提供者。文件DSN可以由安裝了相同驅(qū)動(dòng)程序的用戶共享。

? ??4、驅(qū)動(dòng)程序:ODBC驅(qū)動(dòng)程序允許那些支持ODBC的程序通過ODBC數(shù)據(jù)源獲取信息。如果安裝新的驅(qū)動(dòng)程序,要使用其安裝程序。

? ??5、跟蹤:ODBC跟蹤允許創(chuàng)建調(diào)用ODBC驅(qū)動(dòng)程序的日志,以供技術(shù)人員查看;也可以輔助調(diào)試應(yīng)用程序。Visual?Studio跟蹤啟動(dòng)Microsoft?Visual?Studio的ODBC跟蹤。

QTP要進(jìn)行數(shù)據(jù)庫檢查點(diǎn)之前,需要先連接數(shù)據(jù)庫:

1.在控制面板-管理工具-數(shù)據(jù)源(ODBC)創(chuàng)建數(shù)據(jù)源。(windows要先安裝相應(yīng)的odbc驅(qū)動(dòng)包)

2.在qtp中創(chuàng)建連接。

'定義一個(gè)變量

Dim Cnn

'創(chuàng)建一個(gè)ADODB對象,賦值給這個(gè)變量

Set Cnn =CreateObject("ADODB.Connection")

'連接指定的數(shù)據(jù)庫,用戶名密碼和數(shù)據(jù)源名稱(Data Source就是步驟一創(chuàng)建的數(shù)據(jù)源名稱)根據(jù)實(shí)際環(huán)境填寫

Cnn.ConnectionString="Provider=OraOLEDB.Oracle.1;Persist Security Info=False;UserID=mibs;Password=mibs;Data Source=mibs71" ' oracle

Cnn.ConnectionString="Provider=MSDASQL.1;Password=db2inst1;Persist Security Info=True;User ID=db2inst1;Data Source=39_xbankred" ' db2

這次的主題就是上面的這個(gè)連接字符串,我為了找到這個(gè)連接字符串,發(fā)費(fèi)了我半天時(shí)間,后來找到了一個(gè)很好的方法,就是讓它自動(dòng)生成連接字符串,這樣就不怕因?yàn)閿?shù)據(jù)庫的不同,連接字符串也不同了。方法如下:

1.新建一個(gè)文件,取名a.udl,后瑞是udl就行

2.雙擊打開該文件,彈出如下圖

3.選擇數(shù)據(jù)源名稱,輸入數(shù)據(jù)庫用戶和密碼,點(diǎn)擊確定按鈕,就自動(dòng)生成連接字符串了。

或者你如果沒有事先建立數(shù)據(jù)源的話,也可以從【提供程序】開始,然后一步一步的按提示信息進(jìn)行操作,最后測試一下是否能連接成功,然后點(diǎn)擊確定按鈕,就自動(dòng)生成了。

 

這樣做的好處就是,效率高,而且一定能連接成功。并且適合各種數(shù)據(jù)庫的連接。

大概思路:詞語法分析生成語法樹、邏輯優(yōu)化、物理優(yōu)化、計(jì)劃執(zhí)行,其中 ast 使用Antlr
請問:
1、方向是否正確,有沒有更簡易的方法或者可以省略的步驟。
2、有沒有 gammar 文件供參考?
3、邏輯優(yōu)化 有沒有好的規(guī)則比較適用 ?
4、統(tǒng)計(jì)信息、代價(jià)評估、Plan的生成分別有哪些算法呢?
4、Plan的執(zhí)行控制該怎么做,這一塊的思路還是不清晰。

作者:知乎用戶
鏈接:https://www.zhihu.com/question/26953411/answer/34681295
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

在幾年以前(哥年齡35+),我還在問老頭子什么叫“定語從句”,被鄙視。

老婆學(xué)日語的,每當(dāng)我嘲笑她英語稀爛,她就考我英語語法,然后我只好嘲笑她Excel很爛了。

但這不影響我讀英文文檔,也不影響我應(yīng)聘某名聲還算過得去的外企PM崗位,他們也沒有發(fā)現(xiàn)我的英語實(shí)際上很“爛”并且把我fire掉。

怎么做到的?我準(zhǔn)備把答案寫長點(diǎn)騙贊。這是一個(gè)如何依靠自學(xué)掌握計(jì)算機(jī)英語應(yīng)用能力的故事……不想看故事的,直接跳至答案尾部。

我父親是英語教師,這是我從小學(xué)不好英語的第一個(gè)原因。起因是初一時(shí)他閑得無聊,檢查我的英語學(xué)習(xí)情況,單詞orange我總是拼不對(天啊現(xiàn)在也沒拼對),然后就被實(shí)施家暴了,從此我拒絕他檢查或者輔導(dǎo)我的英語學(xué)習(xí)。

但是,我有一個(gè)好的英語啟蒙教師——初一的英語老師姓周,我對他感激涕零,他對教學(xué)投入和認(rèn)真,對每一個(gè)學(xué)生都很用心,激發(fā)了我們學(xué)英語的興趣,并且教會(huì)了我學(xué)習(xí)英語的核心技能——國際音標(biāo),除了26個(gè)字母以外,這是我學(xué)的最扎實(shí)的英語知識(shí)了,這使我在查詞典后可以知道一個(gè)單詞可以怎么讀。我不止一次地設(shè)想過,如果初中一年級不是周老師教我英語,給了我學(xué)習(xí)計(jì)算機(jī)的最重要的工具,我的人生就會(huì)完全不同,稱得上是師恩如海。

我始終認(rèn)為——學(xué)習(xí)英語最重要的是能開口讀,讀錯(cuò)了也不要緊。讀句子有困難,那就從單詞開始。

現(xiàn)在的電子詞典、在線詞典都有真人語音可以跟著模仿,模仿的時(shí)候總結(jié)一下發(fā)音規(guī)律,在遇到新的單詞的時(shí)候先猜一猜它的讀音,再查詞典核實(shí)自己的猜測。

有了這個(gè)方法,長期積累,讀不成問題了。

初二的時(shí)候,換了一個(gè)美女老師。我不喜歡她的原因是她上課很無趣,現(xiàn)在想想大約是因?yàn)樗龥]有經(jīng)常表揚(yáng)我,而且她講課的重點(diǎn)是語法,教學(xué)方法是不停重復(fù),給我留下語法恐懼癥。值得一提的是,初二的數(shù)學(xué)老師也不怎么喜歡我。

一個(gè)不被老師表揚(yáng)的學(xué)生是沒有未來的,學(xué)校里的課程很無聊可是我還得天天去,總要給自己找點(diǎn)事做吧。這時(shí)我拿到一個(gè)CASIO計(jì)算器,型號是fx-3600,它有很多按鈕所以看上去很厲害的樣子,還有一本薄薄的說明書(英語+日語)。

為了使自習(xí)時(shí)間不那么無聊,我天天玩這個(gè)計(jì)算器,很快就玩膩了,因?yàn)楦呒壍墓δ懿粫?huì)用。我決定把說明書看懂。對于一個(gè)學(xué)習(xí)英語一年左右的初中生來說,這樣的“專業(yè)文獻(xiàn)”自然是很難讀懂的,沒關(guān)系,時(shí)間我有的是。

一個(gè)笨辦法如果有效,那它就是個(gè)好辦法。

我的笨辦法就把說明書上的英文工整地抄寫在數(shù)學(xué)練習(xí)本上,然后用英漢詞典查每一個(gè)單詞的意思,試著把它翻譯出來。實(shí)在翻譯不出來的,對照日文版部分的漢字猜。漸漸地,查詞典的頻率沒有那么高了,因?yàn)檫@些詞之前都查過并且記住了,比如calculator,不需要再查了。

解壓上面兩個(gè)包,把解壓后的文件放在同一個(gè)目錄(合并),注意2個(gè)包解壓后的所有文件必須放在一個(gè)目錄下,假設(shè)是D:\\instantclient_11_2

使用管理員權(quán)限打開CMD,進(jìn)入該目錄,運(yùn)行odbc_install.exe進(jìn)行安裝。

提示安裝成功后,運(yùn)行64位ODBC驅(qū)動(dòng)配置程序“C:\windows\SysWOW64\odbcad32.exe”

注意:64位系統(tǒng)的odbcad32.exe的目錄應(yīng)該在SysWOW64。

不出意外,ODBC的驅(qū)動(dòng)已經(jīng)安裝成功了,打開ODBC數(shù)據(jù)源管理器就可以看到已經(jīng)有ODBC驅(qū)動(dòng)程序項(xiàng):

 

3.選擇ODBC配置DSN,如下圖,可以根據(jù)實(shí)際的情況天下Oracle ODBC Driver Configuration。

測試連接成功后,就可以使用ODBC連接數(shù)據(jù)庫了,Enjoy it!

 

加一句,我使用的ADO來封住ODBC連接。ODBC連接串測試成功和能夠使用的是:Provider=MSDASQL.1;Persist Security Info=False;User ID=avls;Password=1;Data Source=orcl;

還有發(fā)一個(gè)Oracle ODBC連接串匯總:http://www.connectionstrings.com/oracle/ ?那么多人貢獻(xiàn)真好!

 

再說一句:配置Oracle ODBC驅(qū)動(dòng)必須需要配置環(huán)境變量,就是讓驅(qū)動(dòng)能夠找到D:\instantclient_11_2\NETWORK\ADMIN ? 下面的tnsnames.ora ? ??tnsnames.ora文件包含了連接Oracle服務(wù)器的連接串;

只需要配置ORACLE_HOME環(huán)境變量的值為D:\instantclient_11_2即可。已經(jīng)經(jīng)過測試,嘻嘻。謝謝,不用夸獎(jiǎng),有用得很。

 

關(guān)于環(huán)境變量,還有一個(gè)需要進(jìn)行配置的就是ODBC驅(qū)動(dòng)的語言設(shè)置,NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK ? ?? ?目前測試可以解決SQL通過ODBC查詢中文亂碼的問題。

 

更多
  • 該日志由 于2017年12月10日發(fā)表在 未分類 分類下, 你可以發(fā)表評論,并在保留原文地址 及作者的情況下引用到你的網(wǎng)站或博客。
  • 本文鏈接: odbc數(shù)據(jù)源 odbc數(shù)據(jù)源配置access怎么配置呢 | 幫助信息-動(dòng)天數(shù)據(jù)
  • 文章標(biāo)簽:
  • 版權(quán)所有: 幫助信息-動(dòng)天數(shù)據(jù)-轉(zhuǎn)載請標(biāo)明出處
  • 【上一篇】 【下一篇】

    0 Comments.

    發(fā)表評論