<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數據庫中的異類access數據庫

我快閉嘴 ? 來源:36氪 ? 作者:36氪 ? 2020-01-31 15:45 ? 次閱讀

只要有過一點數據庫概念的人幾乎都接觸過Access。跟復雜的專業數據庫相比,它簡單易用,幾乎不用做什么設置就能馬上使用。但是另一方面它又極其受限,只要你想擴大一點使用范圍就會遭遇各種狀況。因此,它就像弗蘭肯斯坦造出來的怪人,微軟一直都想把自己的創造物給干掉。然而,它又像一個多少顯得有點尷尬的僵尸,總會站在一場自己絕對不會被邀請的聚會的角落。是什么原因導致Access在強手林立的市場中擁有不死之身呢?Matthew MacDonald為我們提供了他的見解,原文發表在Medium上,標題為:Microsoft Access: The Database Software That Won’t Die

給你們講個萬圣節故事,普通的企業程序員一定會被嚇到。想象一下,你把公司寶貴的業務數據放進了由企業巨頭微軟支撐的一個的友好數據庫程序里面。一開始一切看起來都很完美。但是,你卻無法動搖那厄運將至的可怕感覺。

然后,那些跡象開始顯露。當使用它們只有三個人時,這種形式工作得很好,不過當全公司都加入時,它們就會出現一些神秘的故障。老板要求你創建一個Web界面,好讓遠程辦公室可以用這個數據庫,結果你什么也沒找到。在web本該出現的地方卻是一片空白。你于是想找找常見數據庫的成分。安全模型?(沒有,每一個用戶都能訪問一切。)適當的數據完整性嗎?(沒有,因為沒有記錄數據庫操作的日志文件。)開放標準嗎?(問都不要問。)你感到毛骨悚然。

最恐怖的是什么?它甚至都不是免費的。

這就是Microsoft Access的故事,這是一種很容易使用的數據庫軟件,已有近30年的歷史,至少在10年前就開始顯示老態了。你可能以為Access早就完蛋了。但是你錯了。實際上,Access還在繼續像僵尸一樣挪動,它的使用率既沒有增長也沒有下降。微軟已經不止一次嘗試想要關停這款數據庫,但是用戶社區奮力抗爭,成功地讓它活了下來——哪怕FrontPage、Visual Basic 6等舊產品已被冷落并且埋進地下。

把Access鄙視成又一個遺留軟件噩夢很容易。但是Access的故事給每一位軟件設計師都提供了經驗教訓。它為我們可以洞悉讓一款產品活下來,發展下去,然后在有效期過后仍能茍延殘喘很久的秘密是什么。

Access到底有多么受歡迎

我們得馬上弄清楚一件事。Access沒有死,也不會死。這似乎違反了數據庫軟件世界所有合情合理的規矩,但這就是殘酷的現實

數據研究公司始終發現這一點:盡管使用Access的公司不多,但都很忠誠。據HG Insights統計,目前有14萬家公司在使用Access,這個數字是使用更為專業的SQL Server 的公司數的一半。Infoclutch 也有類似記錄。而根據在搜索、社交媒體和Stack Overflow等網站上出現的頻率來對數據庫軟件進行排名的DB-Engines則認為,Access是全球第九大最受歡迎的數據庫:

Access躋身了DB-Engines數據庫排行榜前十名,跟它一道的很多都是功能更強大的數據庫

這些統計數據幾乎肯定夸大了Access的普及度。很多企業會使用不止一種數據庫軟件,而且他們用來跑Access的應用幾乎可以肯定適用范圍是比較小的,處理的數據是比較少的,而且,除非CEO有死亡愿望,否則的話,Access是決計不會用于日常運營的關鍵部分。另外,一些公司使用某些技術時根本沒意識到自己用了那些技術也是真的。比方說,每個擁有WordPress網站的企業也都要依賴MySQL,哪怕是別人替它們托管也要用到MySQL。

我對Access隱秘的流行有自己的體驗。2009年,我寫了一本關于Access的書。我寫這本書的原因很簡單。多年來,我一直在用Access來提供快速、臨時的數據解決方案——比如跟蹤藏書集,或者管理我咨詢工作當中發生的發票、付款之類的事情。跟Excel相比,所有這些場景都需要更多的結構以及數據編輯控制,但是這些很容易就可以接受Access的環境限制。幾張表,帶有約束的一些關系,規模不大的查詢集,再加上一兩個報表——一個下午就能把工作搞定。

話雖如此,我從來都建議把Access數據庫放到你的電子商務網站后面。如果你這樣做的話,責任自負。

我寫這本書是為了總結所學到的技巧和遇到的陷阱,當然這些東西很快就會消失不見,默默無聞。但令我感到驚訝的是,這筆書竟然成了我最受歡迎之一。銷量還在繼續增長,大概每天或每兩天就能售出一本。顯然,仍然有人對Access感興趣,即使這僅僅是因為他們想要結束上一代業余程序員留下的混亂局面。

如何試著干掉一個程序(然后以失敗告終)

做技術這一行的每個人都曾目睹過自己喜歡的軟件最終壽終正寢的場面。被廢棄的Google項目可以擠滿一整個墓地。微軟也以干掉自己的小孩而臭名昭著,有時甚至是一次就干掉幾個,比方說,當它關停Expression Studio時,斃掉的可是跟Adobe競爭的一整個web、設計以及媒體編碼工具家族。

但是出于某種原因,當Microsoft盯上了Access之后,他們猶豫了。

第一個錯誤是他們沒有像對待Silverlight、PhotoDraw、Minecraft 以及許多其他工具一樣,決定不一步到位斃掉Access。相反,微軟試圖鼓勵把Access變得無關緊要。首先,他們想通過忽視Access來讓Access知難而退。距離Office 2013發布版還剩幾個月時,微軟甚至還沒有給出是否還有Access 2013的官方回復。

然后他們開始自廢武功,把舊的,有時仍然受歡迎的備用功能。比方說像導入dBASE之類舊格式的功能已經去掉了。創建數據透視表的能力也已經取消了。為SQL Server數據庫創建Access前端的能力也沒有了,還有把Access數據庫遷移到SQL Server 的升遷向導也去掉了。這簡直就像是Hostel的噩夢。每次發布時,微軟都會自卸Access一塊,但程序仍然存在。

其中最引人注目的是微軟試圖提供一種擺脫Access世界的升級辦法。很快,微軟就建立了(然后又放棄了)三個以上的不同框架來把Access數據庫放在Web上。其中的兩個,Access Web數據庫(在Access 2010中引入)和Access Web應用(在Access 2013中引入)都是基于SharePoint和SQL Server開發的。但這兩個均未取得成功,并且Access 2019成為了近十年來第一個完全沒有web功能的版本。

接下來我們會介紹Access的一些在其他的被淘汰軟件身上看不到的東西。我們觀察到微軟設法想提供退出Access的升級途徑,然后遭遇失敗,最后完全放棄。就像科學怪人造出來的那個怪物一樣,創造者已經遺棄了自己的創造物,但依然無法干掉它。

Access以及它的頑強生命所帶來的經驗教訓

舊事物在技術的世界里陰魂不散并不出奇。畢竟,我們還有COBOL。但是Access的不尋常之處在于,雖然生它出來它的公司并沒有善待它,但是它仍然可以承受這一切。

是什么讓Access在如此受限的情況仍然活得這么久?個中不乏文化和實用方面的原因,但有3點特別突出。

1、超級用戶鴻溝

Access的受眾是一批特殊的群體。這個群體現如今已經很少能成為目標受眾了:那就是并非嚴肅編碼者的技術人員。這批人弄個Office宏來繞開問題還行,但是他們缺乏正規的編程背景。不久前,我們還把這種人成為是“超級用戶”。

幫助超級用戶可能會很危險。只需一點知識,你就能制造出非常強大的會射到自己腳的武器。但是這里面又蘊含著有巨大的待開發潛力。為技術人員提供一種無需編寫代碼即可解決問題的方法,讓他們可以有所作為——把小型任務自動化,管理自己的數據孤島,以及幫助保持其本地環境的組織性和有效性等等。

時至今日,對無代碼或輕代碼工具的需求依然很饑渴。對于可以避開每一個標點符號都要算錢的昂貴專業人士來完成自己的工作,那些人是有動力的。但是到目前為止,我們提供給他們的唯一產品是一代之前的VBA宏語言以及類似PowerApps這樣的昂貴工具,只有在你的企業訂閱了一堆微軟的云產品之后才能用上那些東西。

2、真正的強大在于給別人賦權

如果Access的成功有什么秘訣的話,那就是:Access成功是因為它讓大家感到自己的強大。

Access的作用我們還可以舉個例子。我的合伙人要為一所小型音樂學校跟蹤家庭、學生、班級以及出勤情況。做這件事沒有多人同時編輯數據庫的危險,也無需將數據開放給其他平臺。功能完善的SQL Server應用會更好嗎?是的,我甚至可以用免費版的SQL Server Express做到這一點。但是,即便設計這樣的應用是一項簡單的任務,那也不是那種一天就能搞定的事情。而且,這種應用的用戶并沒有想使用Access一樣簡單的方法來用自建的表格和報表來增強愛應用。

3、永遠不要高估“就是這么管用”

姑且設想一下,安裝專業數據庫解決方案都需要些什么。就以安裝我剛剛提到的SQL Server Express為例,你(至少)需要完成以下步驟:

安裝SQL Sever Express。要確保若干配置設置都設置好了,這樣數據庫服務才能夠正常啟動。

下載SQL Server Management Studio,這樣你就不需要用命令行方式,通過SQL命令來創建數據庫了。

創建數據庫以及表。(這一部分幾乎跟Access一樣簡單?。?/p>

選擇一種編程語言,數據庫的庫以及開發環境。也許你會選擇Visual Studio Community之類的東西,因為它把這些東西都打包在一起了。

在你的代碼里面寫連接到數據庫的語句。根據做法的不同,你可能會自己寫代碼或者用類似Entity Framework之類的代碼生成工具。

接下來才是有趣的開始。為了訪問數據庫,你需要給執行你的代碼的賬號(通常不是你自己的賬號)授予正確的數據權限。根據我多年教別人編程的經驗,對于編程菜鳥來說這幾乎是個必定會導致他們摔跤的絆腳石。

上面這一系列的步驟其實什么都沒做。那些只是準備環境所需要的步驟。把那些跟Access的啟動成本比較一下。啟動Access、建立數據庫之后,你想讓它不工作都很難。

很難給便利性定價,但是東西“管用”的吸引力已經讓許多一般般的技術變得一夜成名。

所以,為什么Access還沒有死的答案很簡單,那是因為一個多少顯得有點尷尬的僵尸,站在一場自己絕對不會被邀請的聚會的角落。Access適用于普通人。說它鼓勵不良習慣,這是事實,擴大它的使用范圍幾乎可以肯定會引發災難也是事實,但這些都無關緊要。只要沒人愿意開發這樣一種工具——賦予普通人那么大的能力,又把復雜性降到那么低的工具, Access就會一直這么踉踉蹌蹌地走下去,盡管不受它的創建者待見和承認,但是仍然有它的使命。真正的問題是我們敢不敢開發一種服務于人人的數據庫來取代它呢?

責任編輯:lw

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據庫
    +關注

    關注

    7

    文章

    3627

    瀏覽量

    63683
  • 辦公軟件
    +關注

    關注

    0

    文章

    22

    瀏覽量

    7644
  • 系統設計師
    +關注

    關注

    0

    文章

    3

    瀏覽量

    5439
收藏 人收藏

    評論

    相關推薦

    關于labview與access數據庫的問題

    本帖最后由 王文斌104 于 2013-1-23 22:28 編輯 本人著急做一個labview連接的access數據庫,數據庫已經建好,數據也會存入
    發表于 01-23 22:25

    LabVIEW怎么加密Access數據庫?

    請問在LabVIEW,怎么創建一個加密的Access數據庫??由于種種原因,需要利用Labview創建加密的Access數據庫,能實現嗎?
    發表于 06-03 16:59

    在LABVIEW實現對數據庫表格的操作

    只能操作而不能創建數據庫,所以必須借助第三方數據庫管理系統,比如Access,來創建數據庫。本文試圖通過LABVIEW對數據庫進行操作,在L
    發表于 06-29 21:08

    最新數據庫ACCESS資料

    最新數據庫ACCESS資料
    發表于 09-14 15:08

    labview如何訪問access數據庫

    labview如何訪問access數據庫,本人之前用SQL但半天調不通,說是labview2014版本SQL就不能用來連接access現在還有什么方法可以連接到access
    發表于 12-10 17:38

    基于Access數據庫的登陸程序分享

    一直都無法找到可移植SQL數據庫的方法,只能做Access數據庫了??梢詼惢?。Ps:Lz純純的程序猿,完全沒有美感,請不要吐槽界面。PPs:有誰會打包還請教Lz一下,Lz秋秋:825908143.互相幫助。
    發表于 05-20 14:43

    labview和access數據庫數據類型轉換問題

    各位大神,小弟遇到一難題求解答我用labview往access數據庫寫入簇或者數組數據,access
    發表于 07-23 09:35

    Access 數據庫問題

    調試,可以運行,數據已經更新,(語法應該沒問題?。┤缦聢D2.后來我想是不是我連接數據庫有問題,因此我做了select和delete的操作,都可以運行3.最后確定應該是我自己的語法問題,但是我實在找不出來,大家幫個忙附上access
    發表于 08-21 09:31

    數據庫管理

    如題:用labview操作access數據庫做公司測試流程管控。因測試數據量大,數據生成多,現在accdb文件已經有50M了,現在發現數據庫
    發表于 11-08 16:58

    labview數據如何存入access數據庫

    labview數據如何存入access數據庫
    發表于 12-02 12:15

    labview Access數據庫打開問題

    各位大神,我這邊用LABVIE操作數據,當通過UDL連接數據庫時,程序報錯:我是win7 64位系統,用的是ACCESS數據庫,在創建ODBC數據
    發表于 03-22 15:18

    LabVIEW與Access數據庫通信

    項目要求采集后的數據存入數據庫,并在需要時進行多個關鍵詞檢索。這里選擇了Access數據庫,并寫了一個簡單的存入數據庫以及組合查詢獲得符合條
    發表于 09-27 10:38

    如何使用labview連接access數據庫?

    我用的是access數據庫,由于格式文件是accdb,我想用labview連接數據庫,但不知道怎么來連接,哪位大神能發一下具體步驟,萬分感謝
    發表于 01-16 12:35

    Labview Access數據庫操作問題,打開數據庫文件報錯

    各位大神,小弟在操作asscess遇到一個問題,打開數據庫文件的時候報錯,錯誤信息如下:NI_Database_API.lvlib:DB Tools Open Connec (String
    發表于 03-05 10:11

    LabVIEW與Access數據庫通信時,如何創建DSN文件

    。4.填寫數據源名和說明。5.在“數據庫”字段中點擊“ 選擇”按鈕。6.導航到Access數據庫的位置,然后選擇“ 確定” 。7.在OD
    發表于 02-01 12:45
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>