国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 數據庫 > Access > 正文

舊 Microsoft Access 數據的新生

2024-09-07 19:05:08
字體:
來源:轉載
供稿:網友

  在計算機和軟件世界艱難地向前發展的過程中,存在的一個不幸的事實,有時我們發現自己必須丟棄舊的數據。 我們從一個字處理 Office 程序包轉移到另一個程序包,就發現舊的文檔再也打不開了。
  
  同樣的情況也發生在數據庫上。 一個小公司可能覺得將信息存儲在一個 PC 數據庫中就足夠了,但在該遷移信息時將發生什么? 我們可能很苦惱要丟掉有價值的信息,但的確經常扔掉這些信息。 不過,當時可能看起來不是非常主要并被丟棄的信息,有時可能會需要。
  
  我最近就碰到這樣一個問題。 我工作的一個社區機構有一個基于 PC 的應用程序,它帶有一個相當大的 Microsoft access 格式的會員數據庫。 已經編寫了一個來自第三方的用戶程序來與該數據庫一起工作,但隨后許可過期了,再沒有方法來獲取該軟件的更新。 碰巧,忽然又非常需要這些信息。 我們備份了舊的數據庫,并將之存儲在一個 linux 系統上。 在新的開放源代碼世界中,為我們提供了許多強大的數據庫(如 Linux 上的 Oracle 數據庫)。 一種選擇是購買一份 Microsoft Access 并創建一個應用程序,但這將把我們限制在同一個特定模型中,而這本來就已經使我們陷于困境。 此外,公司希望能夠從一個安全的服務器遠程訪問這些數據。
  
  再次依靠 Microsoft 不是我們希望的選擇。 Linux 將作為這個新的數據庫服務器的基礎,并且它將運行一個行業標準的 SQL 數據庫。 因此,假如我們著手取出限制在舊的 MDB 文件中的數據 — 而不依靠于安裝帶新的 Access 許可的 Windows 服務器(這樣將再次受限于一個單體系結構解決方案),那將如何?
  
  到處尋找解決困境的解決方案,我來到了 Brian Burns 的網站,并知道了他的 mdBTools 程序包,該程序包是命令行工具的一個集合還有一個 GUI,它的唯一的目的是提供從 Access 數據庫中取出信息方法。
  
  獲取和安裝 mdbtools
  您需要做的第一件事是獲取一份 mdbtools 程序包。 轉至 http://mdbtools.sourceforge.net/,您將找到源代碼和適用于幾種基于 RPM 的版本的 RPM 程序包。 從源代碼進行編譯非常簡單,包括提取到構建 5 個步驟。
  
   tar -xzvf mdbtools-0.5.tar.gz
   cd mdbtools-0.5
   ./configure
  make
   su -c "make install"
  
  還可能通過下載和從 CVS 進行構建獲得最新和最好的程序包。 這并不像它聽起來那么復雜。 從連接并匿名登錄 CVS 服務器開始。
  
  cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/mdbtools login
  
  下一個步驟是查看 mdbtools 程序包:
  
  cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/mdbtools co mdbtools
  
  注重前面的每一條命令都是完整的一行。 在輸入上面的命令之后,當下載進行時,您將看到一個包含該版本中的各種文件的列表在屏幕上逐行顯示。 當下載完成時,轉移到下載目錄(名稱為 mdbtools)并執行以下命令。
  
   ./autogen.sh --enable-sql --with-unixodbc=/usr/local
  make:
   su -c "make install"
  
  對 mdbtools 進行一些研究
  mdbtools 程序包自帶了一系列命令行工具以及一個 GUI,用于從 mdb 文件中處理和提取數據。 我將馬上說明這個 GUI,但首先我想向您介紹一些命令行工具。 這些工具中最基礎的是 mdb-ver,您可以用它來識別您要處理的 mdb 文件的類型。
  
   $ mdb-ver members.mdb
   JET3
  
  這種情況下的結果是 "JET3",它告訴我我的社區會員文件是基于 Access 97 應用程序的。
返回值是 "JET4",則是 Access 2000 或 Access XP 數據庫。 使用 mdb-tables 命令將開始出現稍微有趣一點的信息。
  
   $ mdb-tables members.mdb
   ActionTaken CaseMembers ContactFollowUp ContactReason ContactSource
   ContactStatus Donations Issues Location MemberInfo PersonContacted Status ToDo
  
  默認情況下,所有的數據庫表將轉儲到一行上。 為了分別列出(每行一個表),可以使用 -1 標記。 不過,一些表不會顯示;這些是系統表(以 Msys 開頭的表)。 假如您希望這些表也列出來,那么可以使用 -S 標記。
  
  上面的輸出為您提供了組成您的 Access 數據庫的各種表的具體分類。 有趣的是,我們實際上可以在數據庫上執行 SQL 查詢(盡管只能使用 SQL 的一個有限的子集),即使數據庫不再在一個 Microsoft 系統上運行。 這就是 mdb-sql 命令的用途。 要進入交互式的 SQL 解釋程序,可以輸入 mdb-sql,后面緊跟數據庫名稱。 您將看到 1 => 提示符,您可以在提示符處輸入單行或多行查詢。 當您完成輸入并且想運行查詢時,輸入 go,然后按 Enter 鍵。
  
   $ mdb-sql members.mdb
   1 => list tables
   2 => go
  
  在上面的例子中,我基本上重新創建了 mdb-tables 命令。 其不同之處是輸出限定在美觀的、帶有標題并且四周用虛線框起來的表中。 當調用 mdb-sql 時,您可以重載這一行為,用 -H 來取消標題,用 -p 來去除邊框。
  
   $ mdb-sql -H -p members.mdb
  
  您可以隨時通過輸入 quit 并按 Enter 鍵來退出 SQL 解釋程序。
  
  要創建一條查詢,您可以使用默認的交互模式或在一行上發送一條查詢。 在下面的例子中,我使用了另一條命令 — describe table 查詢,該命令讓我能夠更深入地挖掘數據庫的表的格式。
  
  
   $ echo "describe table Location" mdb-sql members.mdb
  
   +------------------------------+--------------------+----------+
   Column Name          Type        Size   
   +------------------------------+--------------------+----------+
   ID              Long Integer    4    
   Address1           Text        255   
   Address2           Text        255   
   Address3           Text        255   
   Phone             Text        50    
   Fax              Text        50    
   DefaultInd          Boolean       0    
   +------------------------------+--------------------+----------+
  
  為了便于使用腳本,還可以用 -I 標記從外部文件中導入查詢,以及用 -o 標記并指定一個文件名來將查詢輸出到一個文本文件中。
  
  利用這些簡單的 SQL 查詢,我們能夠了解到關于數據庫的布局和其相關的表的許多信息。 通過加上邊框的標題和美觀的顯示格式,我們可以導出到文本文件中,并利用 shell 腳本來處理結果。 實際上,假如您所需要只是您的舊數據的一些簡單的報表,那么以上操作就足夠了。 不過,假如您希望將數據庫移植到一個基于服務器的 SQL 數據庫(如 Oracle)中,那么 mdbtools 也可以在此為您提供幫助。 (當然,一旦您達到了這個目的您將如何處理數據就是一個完全不同的主題了。)
  
  取出數據
  取出數據至少有兩個步驟。 第一步是在您的服務器上創建一個新的數據庫和它相關的表。 第二步是加載數據。 利用上述示例,您可以獲得關于組成原始的 Access 數據庫的各種表的所有具體信息。 然后利用這些信息,您可以編寫必需的腳本來專門為您的數據庫逐個地重新創建這些表。 幸運的是,您不用太費力,因為 mdbtools 程序包也為此提供了一個工具。 它就是mdb-schema。 考慮到我的社區會員表包含了一些敏感信息,所以讓我用 Microsoft Access 自帶的練習數據庫 Northwind.mdb 來進行演示。
  
   $ mdb-schema Northwind.mdb
  
  結果是模式的一個文本文件,該文件以 DDL(數據定義語言)格式發送至標準輸出。 假如您想捕捉該輸出(非常有用)則務必將該輸出重定向到一個文件中。 DDL 輸出默認是 Access 格式(如以下示例所示)。
  
   DROP TABLE Customers;
   CREATE TABLE Customers
   (
    CustomerID           Text (10),
    CompanyName           Text (80),
    ContactName           Text (60),
    ContactTitle          Text (60),
    Address         Text (120),
    City          Text (30),
    Region         Text (30),
    PostalCode           Text (20),
    Country         Text (30),
    Phone          Text (48),
    Fax           Text (48)
   );  
  
  上面的輸出只顯示了一個表(為簡潔起見),現在正好可以告訴您,您可以利用 -T 標記來指定單個表(我將馬上演示這一操作)。
DDL 輸出的數據庫格式稱為后端。 這時支持五個不同的后端。 它們是 "access" — 代表 Microsoft Access;"sybase" — 代表 Sybase;"oracle" — 代表 Oracle;和 "postgres" 代表 PostgreSQL(以及在 CVS 代碼中的 "MySQL" — 代表 MySQL)。 因此,要為 SavedQueries 表創建 Oracle 格式的 DDL,我使用下面的命令:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
欧美韩日国产| 国产福利一区二区在线精品| 国产三级在线观看| 国产天堂在线观看| 国产极品视频| 在线免费看黄| 成人午夜无人区一区二区| 成年午夜在线| 在线免费观看污| a视频免费看| 二人午夜免费观看在线视频| 日本中文字幕在线视频| 国产porny蝌蚪视频| 亚洲精品白浆| 国产偷倩在线播放| 欧美性猛交p30| 国产黄色高清在线| 本道综合精品| 国产黄视频在线观看| 蜜桃av网站| 国产第一页在线视频| 欧美色欧美亚洲另类二区精品 | 国产丝袜自拍| 在线影视一区| 国产一区二区三区四区尤物| 色吊丝av中文字幕| 国产精品粉嫩av| 成人免费一区二区三区牛牛| av网址在线看| 精品国产高清a毛片无毒不卡| 国产毛片毛片毛片| 麻豆精品免费视频入口| av天天在线| 精品推荐蜜桃传媒| 18av在线视频| 国产偷倩在线播放| 最新av免费看| 99视频免费| 欧美性受xxxx免费视频| 在线播放www| 中文av资源在线| 91www在线观看| av福利在线播放| 中文在线视频| 四虎影视成人永久免费观看视频| 精品麻豆国产| a视频在线观看| 欧美精品一区二区三区免费| 超碰在线97国产| 福利视频在线导航| 国产精品四虎| 亚洲视频手机在线观看| 在线观看视频污| 精品卡一卡卡2卡3网站| 91蜜桃在线视频| 日本一级理论片在线大全| 思思99精品视频在线观看| 久久精品最新免费国产成人| 中文字幕在线播放网址| 国产91久久久久蜜臀青青天草二| 精品一区二区三区免费站| 伊人狠狠av| 欧美亚洲系列| 国产香蕉视频在线观看| 在线视频观看你懂的| 美女被人操视频在线观看| 国产一二在线观看| a视频免费看| 国内自拍视频在线看免费观看| 懂色av一区| 国产黄视频网站| а√资源新版在线天堂| 国产污视频在线| 青青青手机在线视频观看| 国产三区四区在线观看| 欧美日韩在线资源| 精灵使的剑舞无删减版在线观看| 黄网站在线观看高清免费| 91最新在线| 中文字幕在线影院| jizz亚洲大全| 在线午夜影院| 国产网站免费观看| 欧洲一区av| 亚洲夜夜综合| 国产99在线|亚洲| 成在在线免费视频| 亚洲久草视频| 国产wwww| 国产极品视频| 国产精品二线| 国产日本在线观看| 狠狠操天天操夜夜操| 日本视频三区| 日本视频一二三区中文字幕| 在线一区二区三区精品| 国产对白国语对白| 国产欧美日韩精品综合| 日本中文字幕视频在线| 国产麻豆视频免费观看| 免费看黄视频网站| 免费中文字幕| 国产在线激情视频| 国产字幕在线看| 久久久久久五月天久久久久久久久| av一本在线| 爱福利在线视频| 免费不卡中文字幕视频| 国产在线视频精品视频免费看| 欧美a免费在线| 老师我好爽再深一点的视频| 另类综合图区| 天天操天天曰| 最近高清中文在线字幕在线观看| 国产在线观看色| 国产女人伦码一区二区三区不卡| 黄色片视频在线观看| 中文字幕日本在线| 国产二区三区四区| 午夜小视频在线| 91超碰国产在线| 国产精品69一区二区三区| 在线激情网站| 国产原创精品视频| 精品伦理一区二区| 美女国产在线| 精品国产白色丝袜高跟鞋| eeuss影院在线观看| 国产精品㊣新片速递bt| 尤物免费看在线视频| 精品入口麻豆传煤| 国产91大片| 日韩国产成人| 精灵使的剑舞无删减版在线观看| 欧美性猛交xxxx免费看蜜桃| 国产一级片在线播放| www.av在线视频| 国产区在线看| 国产美女在线免费观看| 99在线视频影院| 国产人成网在线播放va免费| 久久精品无码一区二区日韩av| 国产二级片在线| 国产一级激情| а√最新版地址在线天堂| 国产网站免费观看| 欧美精品久久久久久久小说| 99热播在线观看| 国产小视频在线| 国产美女高潮| 99热在线观看免费| 国产主播福利在线| 免费a在线观看| 丝袜理论片在线观看| 中文一区在线观看| 在线免费日韩| 中文字幕av网| 精品一区二区三区在线观看l| 最近中文字幕av免费高清| www.操操操.com| 在线久久视频| eeuss影院在线观看| 精品美女在线观看视频在线观看| 国产污污在线观看| 国产精品白浆流出视频| 国产精品666| 国产激情视频一区二区三区| 国产一卡2卡3卡4卡网站免费 | 夜夜爽视频导航| 99免费视频| www.国产精| 久久久久久久久亚洲精品| 超碰在线观看免费版| 久久99亚洲网美利坚合众国| 免费女人毛片视频| 国产免费a∨片在线观看不卡| 国产免费黄色| 国产videos| 免费在线黄色网址 | 非洲黑人最猛性xxxx交| 天天操人人爽| 国产h在线观看| 四虎精品视频| 国产美女在线免费观看| 国产情侣高潮对白| 精品电影在线| 超碰在线免费播放| 国产精品视频二区三区| 亚洲视频在线观看不卡| 丁香视频免费观看| 99久久精品免费观看国产| 成人福利视频导航| 亚洲最新永久观看在线| 中文字幕视频免费在线观看| 先锋影音av中文字幕| 国产丝袜视频在线播放| 日本一级理论片在线大全| 1区不卡电影| 欧美专区日韩| 国产精品777一区二区|