一、ODBC
ODBC(Open Database Connectivity,開放數據庫互連)是微軟公司開放服務結構(WOSA,Windows Open Services Architecture)中有關數據庫的一個組成部分,它建立了一組規范,并提供了一組對數據庫訪問的標準API(應用程序編程接口)。這些API利用 SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。
應用程序要訪問一個數據庫,首先必須用ODBC管理器注冊一個數據源,管理器根據數據源提供的數據庫位置、數據庫類型及ODBC驅動程序等信息,建立起ODBC與具體數據庫的聯系。這樣,只要應用程序將數據源名提供給ODBC,ODBC就能建立起與相應數據庫的連接。
二、OLE DB
1.? Object Linking and Embedding,對象連接與嵌入,簡稱OLE技術。OLE不僅是桌面應用程序集成,而且還定義和實現了一種允許應用程序作為軟件“對象”(數據集合和操作數據的函數)彼此進行“連接”的機制,這種連接機制和協議稱為部件對象模型(Component Object Model),簡稱COM。OLE可以用來創建復合文檔,復合文檔包含了創建于不同源應用程序,有著不同類型的數據,因此它可以把文字、聲音、圖像、表格等組合在一起。
對象鏈接和嵌入。在客戶應用程序間傳輸和共享信息的一組綜合標準。允許創建帶有指向應用程序的鏈接的混合文檔以使用戶修改時不必在應用程序間切換的協議。 OLE基于組件對象模型(COM) 并允許開發可在多個應用程序間互操作的可復用即插即用對象。該協議已廣泛用于商業上,在商業中電子表格、字處理程序、財務軟件包和其他應用程序可以通過客戶/服務器體系共享和鏈接單獨的信息
2.? OLE DB(OLEDB)是微軟的戰略性的通向不同的數據源的低級應用程序接口。OLE DB不僅包括微軟資助的標準數據接口開放數據庫連通性(ODBC)的結構化問題語言(SQL)能力,還具有面向其他非SQL數據類型的通路。作為微軟的組件對象模型(COM)的一種設計,OLE DB是一組讀寫數據的方法(在過去可能被稱為渠道)。OLD DB中的對象主要包括數據源對象、階段對象、命令對象和行組對象。使用OLE DB的應用程序會用到如下的請求序列: 初始化OLE 連接到數據源發出命令 處理結果 釋放數據源對象并停止初始化OLE
OLE DB標準中定義的新概念----OLE DB將傳統的數據庫系統劃分為多個邏輯組件,這些組件之間相對獨立又相互通信。這種組件模型中的各個部分被冠以不同的名稱:數據提供者(Data Provider)。提供數據存儲的軟件組件,小到普通的文本文件、大到主機上的復雜數據庫,或者電子郵件存儲,都是數據提供者的例子。有的文檔把這些軟件組件的開發商也稱為數據提供者。
我們要開啟如Access 數據庫中的數據,必須用ADO.NET 透過OLE DB 來開啟。ADO.NET 利用OLE DB 來取得數據,這是因為OLE DB 了解如何和許多種數據源作溝通,所以對OLE DB有相當程度的了解是很重要的。
三、ADO
微軟公司的ADO (ActiveX Data Objects) 是一個用于存取數據源的COM組件。它提供了編程語言和統一數據訪問方式OLE DB的一個中間層。允許開發人員編寫訪問數據的代碼而不用關心數據庫是如何實現的,而只用關心到數據庫的連接。訪問數據庫的時候,關于SQL的知識不是必要的,但是特定數據庫支持的SQL命令仍可以通過ADO中的命令對象來執行。
ADO被設計來繼承微軟早期的數據訪問對象層,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)。ADO在1996年冬被發布。
ADO是VB6推薦操作數據庫的方式。
四、區別和關系
ODBC最先出來,是用來連接oracle、sql server、access等數據庫的一種接口標準(后來隨著各廠商的擴充,也就都不標準了),各數據庫提供實現ODBC的“驅動程序”。ODBC的本意是“ODBC的最大優點是能以統一的方式處理所有的數據庫”,其實都是扯淡,因為各數據庫對標準SQL都做了大量的擴充,除非你只使用標準的SQL,不然“統一”根本談不上。
OLE DB是微軟“發明”的,用來淘汰ODBC的,OLE DB不光可以連接各種數據庫,還可以連接exchange、活動目錄、甚至操作系統文件目錄等各種數據庫源(也需要分別使用不同的“驅動程序”)
ADO也是微軟的,是用來淘汰早起微軟的RDO、DAO的(ADO可以做RDO、DAO能做的所有事),ADO在上層,通過下面的ODBC或者OLE DB來訪問數據源(注意不是數據庫,因為可訪問范圍包括活動目錄等各種數據)。不過微軟目前的ODBC實際是通過OLE DB訪問數據源的。
層次關系:
應用程序 -> ADO -> ODBC -> OLE DB -> 數據源
或者
應用程序 -> ADO -> OLE DB -> 數據源
其實這些都東西可以理解為是和驅動差不多。
五、OLE DB vs ODBC
1. OLE DB 與 ODBC 都是一個數據庫連接的公共接口,它們屏蔽了各種數據庫的連接協議,使編程人員遵從 OLD DB / ODBC接口,就可以訪問各種數據源了。
2. ODBC 比 OLE DB 使用更加廣泛,因為 ODBC 出現的要早。
3. OLE DB 可以使用 ODBC 的數據驅動程序。也就是 OLE DB 可以通過 ODBC 訪問數據 ODBC數據源。在這個過程中 ODBC 充當了中轉的作用,它的運行機制如下。首先,應用程序使用 OLE DB 提供程序,但是這個提供程序里面包含了與ODBC轉換的內容。這樣,從ODBC源讀取的數據經過轉換程序,轉換為OLE DB可以訪問的數據源。這樣就實現了 OLE DB 訪問 ODBC 的數據源。
當然 OLE DB 也可以不通過 ODBC 訪問,前提是該數據源要有OLE DB接口。這種OLE DB 提供程稱為本機OLE DB提供程序。
4. 在 Windows 操作系統中,有兩個工具分別用于創建 ODBC / OLE DB 數據源
ODBC 數據源:在 "控制面板"中可以找到ODBC 數據源工具
OLE DB 數據源:這個工具通常不能打開, 要通過程序來調才能調出來。它的名字叫"數據鏈接屬性"。
5. SQL Server 自帶了 SQL Server / Oracle 的 OLEDB驅動程序。
6. OLE DB 比 ODBC 速度要快。
posted @
2007-08-26 22:55 Jcat 閱讀(1529) |
評論 (0) |
編輯 收藏
學一個優秀的技術,泡一個優秀的論壇,一步步走來。
Java: cjsdn, blogjava
?? |
Oracle: cnoug
?? |
BusinessObjects: BOB
posted @
2007-08-14 13:53 Jcat 閱讀(260) |
評論 (0) |
編輯 收藏
答辯終于結束了,結果是敷衍的(就給10分鐘講PPT,根本講不完,水過去了),過程是勞人的(太痛苦了,形式比內容重要,材料比論文重要)。
隨著答辯的結束,我也要告別Java了(至少近期沒有做Java的打算了),正式轉入BI業。
posted @
2007-06-30 14:10 Jcat 閱讀(365) |
評論 (4) |
編輯 收藏
錢多事少離家近,位高權重責任輕;
睡覺睡到自然醒,數錢數到手抽筋。
到時候我就租兩套1500的房子,門對門,
一套自己住,一套白給民工住
我租筒子樓的一層,四間都是我的,公用的廁所廚房成我自己的。
最近租房,北京的房子實在太貴了,發泄一下。
posted @
2007-06-22 00:19 Jcat 閱讀(313) |
評論 (0) |
編輯 收藏
?????????????

posted @
2007-05-30 00:44 Jcat 閱讀(366) |
評論 (3) |
編輯 收藏
---String---
equals in Stringpublic?boolean?equals(Object?anObject)?{
????if?(this?==?anObject)?{
????????return?true;
????}
????if?(anObject?instanceof?String)?{
????????String?anotherString?=?(String)anObject;
????????int?n?=?count;
????????if?(n?==?anotherString.count)?{
????????char?v1[]?=?value;
????????char?v2[]?=?anotherString.value;
????????int?i?=?offset;
????????int?j?=?anotherString.offset;
????????while?(n--?!=?0)?{
????????????if?(v1[i++]?!=?v2[j++])
????????????return?false;
????????}
????????return?true;
????????}
????}
????return?false;
????}
equals in Object???public?boolean?equals(Object?obj)?{
????return?(this?==?obj);
????}
????System.out.println(new?String("aa").equals(new?String("aa")));?//true
????System.out.println(new?String("aa")?==?new?String("aa"));??????//false
????System.out.println("aa".equals("aa"));?????????????????????????//true
????System.out.println("aa"?==?"aa");??????????????????????????????//true
posted @
2007-05-23 22:35 Jcat 閱讀(324) |
評論 (0) |
編輯 收藏
JAVA_HOME
ANT_HOME
CATALINA_HOME
GROOVY_HOME
GRAILS_HOME
classpath=
.
(%JAVA_HOME%\jre\lib is not required)Path=
%JAVA_HOME%\bin;
%ANT_HOME%\bin;%CATALINA_HOME%\bin;%GROOVY_HOME%\bin;
%GRAILS_HOME%\bin
Note: if you add %GROOVY_HOME%\embeddable\groovy-all-1.0.jar to classpath Grails can't work correctly.
posted @
2007-05-23 21:39 Jcat 閱讀(359) |
評論 (0) |
編輯 收藏
??? 你說我是貓,或許我是貓。貓咪很寂寥,在漆黑的夜里,它需要一束溫暖的火苗。不止飛蛾會撲火,你可知道,為了驅逐黑暗的冰冷,寧愿選擇烈火的燃燒。我怕火,但更怕冷,我怕冷,但更怕溫暖突然抽離。上天許我,如不能一世的溫暖,就一生的冰冷吧!絕望的一只貓。
???
你說我是貓,或許我是貓。貓咪喜歡甜膩,在安詳的天空下,品味溫馨細膩。不是奢侈的甘美,而是回憶的苦澀,你可知道,一種心情一種淚,嬌艷的芙蓉愁苦的
心。不要說貓咪挑食,只是它厭食,厭惡百般蕭索的味道,不要說貓咪偏食,只是它眷戀,它執著那沾染鮮血卻又難以割舍的尖刀。貓咪說,血,甜的。
???
你說我是貓,或許我是貓。貓咪喜歡撒嬌,在愛的環繞下,翻騰著猶疑的身軀。不是天性,而為確定,只為確定珍愛的長度。不是本能而是希冀,絕望地期望延伸被愛的感覺。不要說貓咪膩人,它只是悲哀地期望地而又不能確定著愛。
???
你說我是貓,或許我是貓。貓咪很驕傲,冷然的雙眸審視世間的慘淡,輕盈的身形飄過歡喜哀愁。在風的角落,沒有注視的目光,貓咪扯落冷酷的面具,流淌著積攢
的淚水。不愛就不愛,誰在渴望你的關愛。心底,一個聲音,“不愛我了,沒關系。悄悄地走掉罷,別來辭行,驕傲不是堅強。”
???
??? 你說我是貓,或許我是貓......
posted @
2007-05-23 11:47 Jcat 閱讀(282) |
評論 (0) |
編輯 收藏
什么時候,你有整整一天沒有上網了?是昨天、上周、還是上個月?
我經常無意識地走向計算機,打開計算機,然后掛在網絡上好幾個小時,這一切舉動不需經過大腦思考,自動得就像夢游一樣。這不是我一個人的夢游,這是集體的夢游,我們都已經如同蒼蠅被困在網中。
就連性愛都可以在網絡上解決...有了網絡,干嘛這么麻煩?在無數的色情網站和聊天室,你可以輕易地找到和你一樣饑渴的對象,透過網絡攝影機,你隨時可以在計算機前面寬衣解帶。久而久之,你發現,你的性幻想對象居然是計算機屏幕。沒了屏幕框,一切變得索然無味,你連性欲都沒了。
網絡成癮癥:
? 強迫性、非自愿地使用網絡
? 對人際交往失去興趣(個人補充:這里的人際交往指的是人與人的交往,而不是msn與msn的交往)
? 被在線及時活動占據大部分生活的時間
? 不能自拔
? 而最容易上癮的是教育程度有限的中年婦女
?
(1、2我都占了,如果網速好3也很有可能)
以上摘抄自蔡學鏞先生的同名文章我的目標:
? 每周少上一天網(這一天完全不上網)
? 每月少開一天計算機(這一天完全不開計算機)
? 多運動(右手食指除外)
大貓如是說:
??? Money, house, material, ... are all zeros,
??? Life, health is the 1 in front of the zeros.
???? 00000000000000000 is noththing!
??? 100000000000000000 becomes something!!!
posted @
2007-05-15 23:38 Jcat 閱讀(389) |
評論 (1) |
編輯 收藏
Q
國內IT界兩個怪現象:
1.年紀大了(其實還不到30),不能再編程了。
2.女孩子不適合搞技術。
為什么會這樣?國外恐怕不是這樣的吧。是不是國人太浮躁了?
A
1.如果這行業很賺錢,就是到60歲也會做下去。
2.如果這行業很賺錢,就是人妖也會適合。
總之,經濟規律。 與國別無關。
一段有趣的對話,摘錄于此
posted @
2007-05-13 22:23 Jcat 閱讀(274) |
評論 (0) |
編輯 收藏