將Access數(shù)據(jù)庫移植到SQLServer_Access數(shù)據(jù)庫教程
推薦:Access在調(diào)整工資上的應(yīng)用 作為一名從事人事勞資工作的人員來說,每次調(diào)整工資時填寫成百上千的工資審批表存入檔案,是一件十分費時費力的工作,并且有時難免會出現(xiàn)一些錯誤。如果能讓電腦來完成這項工作,豈不大大地
隨著用戶對于企業(yè)級高性能數(shù)據(jù)庫的需求的增長,用戶時常要從Microsoft Access Jet引擎的文件-服務(wù)器環(huán)境下轉(zhuǎn)換到Microsoft SQL Server的客戶-服務(wù)器環(huán)境。Microsoft Office 2000中的Access 2000 Upsizing Wizard可實現(xiàn)將數(shù)據(jù)表和查詢轉(zhuǎn)移到SQL Server 7.0中。如果您用的是Access的較早的版本,您可以先將它升級為Access 2000,然后再使用其中的Upsizing Wizard,從而將您的應(yīng)用移植到SQL Server中。
如果您并不太愿意采用Access 2000 和Upsizing Wizard來實現(xiàn)移植,本文可以作為將Access 2000移植到SQL Server的一個指南。轉(zhuǎn)移一個Access上的應(yīng)用首先需要將數(shù)據(jù)轉(zhuǎn)移到SQL Server,然后將查詢轉(zhuǎn)移進數(shù)據(jù)庫,或是轉(zhuǎn)移為SQL文件以備稍后執(zhí)行。最后要采取的步驟是移植應(yīng)用程序。
數(shù)據(jù)庫移植中用到的SQL Server 工具
SQL Server管理器(SQL Server Enterprise Manager)
SQL Server管理器 允許對SQL Server以及SQL Server中的對象進行企業(yè)級的配置和管理。SQL Server管理器提供一個強有力的scheduling引擎,高度的容錯力和一個嵌入式的復(fù)制管理界面。使用SQL Server管理器可以實現(xiàn)以下功能:
管理連接和用戶許可
創(chuàng)建腳本程序
管理SQL Server對象的備份
備份數(shù)據(jù)和事務(wù)處理日志
管理表、視圖、存儲過程、觸發(fā)器、索引、規(guī)則、默認值以及用戶定義的數(shù)據(jù)類型
建立全文本索引、數(shù)據(jù)庫圖表和數(shù)據(jù)庫維護計劃
輸入和輸出數(shù)據(jù)
轉(zhuǎn)換數(shù)據(jù)
執(zhí)行各種網(wǎng)絡(luò)管理任務(wù)
在以Microsoft Windows NT為操作系統(tǒng)的計算機中,SQL Server Manager由SQL Server Setup進行安裝,并被默認為服務(wù)器組件,而在運行著Windows NT 和Microsoft Windows 95的機器上,它將被默認為客戶方組件。您將從SQL Server Manager的圖形用戶界面中啟動數(shù)據(jù)轉(zhuǎn)移服務(wù)(DTS,Data Transformation Services)。
數(shù)據(jù)轉(zhuǎn)移服務(wù)(Data Transformation Services ,DTS)
數(shù)據(jù)轉(zhuǎn)移服務(wù)允許您在多種異構(gòu)數(shù)據(jù)源之間輸入和輸出數(shù)據(jù),這些數(shù)據(jù)源采用基于數(shù)據(jù)庫的OLE體系結(jié)構(gòu);或在使用SQL Server 7.0的多個計算機之間轉(zhuǎn)移數(shù)據(jù)庫和數(shù)據(jù)庫對象;您還可以通過運用數(shù)據(jù)轉(zhuǎn)移服務(wù),更便捷地在一個在線事務(wù)處理系統(tǒng)(OLTP)中建立數(shù)據(jù)倉庫和數(shù)據(jù)中心。
DTS Wizard允許您交互地創(chuàng)建DTS包,通過OLE DB和ODBC來輸入、輸出、驗證和轉(zhuǎn)移數(shù)據(jù)。DTS Wizard還允許您在關(guān)系型數(shù)據(jù)庫之間拷貝圖解(schema)和數(shù)據(jù)。
SQL Server 查詢分析器(Query Analyzer)
SQL Server 查詢分析器是一種圖形化的查詢工具,通過它您可以分析一個查詢,同時執(zhí)行多個查詢,查看數(shù)據(jù)和獲取索引建議。SQL Server 查詢分析器提供了showplan選項,可用來顯示SQL Server查詢優(yōu)化器所選擇的數(shù)據(jù)提取方法。
SQL Server Profiler
SQL Server Profiler可以實時地捕獲數(shù)據(jù)庫服務(wù)器活動的連續(xù)記錄。SQL Server Profiler允許您監(jiān)控SQL Server產(chǎn)生的事件,過濾基于用戶指定標準的事件,或?qū)⒉僮鞑襟E輸出到屏幕、文件或數(shù)據(jù)表。運用SQL Server Profiler,您可以重新執(zhí)行所捕獲的上一次操作。這種工具可以幫助應(yīng)用程序開發(fā)者識別那些可能會降低應(yīng)用程序性能的事務(wù)處理。在將一個基于文件體系結(jié)構(gòu)的應(yīng)用程序移植到客戶/服務(wù)器結(jié)構(gòu)中時該特性是很有用的,因為它的最后一步包括對面向新的客戶/服務(wù)器環(huán)境的應(yīng)用程序進行優(yōu)化。
轉(zhuǎn)移表和數(shù)據(jù)
使用DTS Wizard將您的Access數(shù)據(jù)轉(zhuǎn)移到SQL Server,可采取以下步驟:
在 SQL Server Manager(Enterprise Manager)的工具菜單中,鼠標指向“Data Transformation Services”, 然后點擊“Import Data.”
在“選擇數(shù)據(jù)源”( Choose a Data Source)的對話窗口中,選擇Microsoft Access為數(shù)據(jù)源,然后輸入您的.mdb文件名(mdb為文件擴展名)或者選擇瀏覽文件。
在“選擇數(shù)據(jù)目標”(Choose a Destination)的對話窗口中,選擇“Microsoft OLE DB Provider for SQL Server”,再選擇好數(shù)據(jù)庫服務(wù)器,然后點擊所需的認證模式。
在“指定表備份或查詢”( Specify Table Copy or Query)的對話窗口中,點擊“拷貝表”(Copy tables)。
在“選擇數(shù)據(jù)源”的對話窗口中,點擊“選擇所有項”( Select All)。
移植Microsoft Access查詢
您可以將Access的查詢以下面的格式之一轉(zhuǎn)移至SQL Server中:
事務(wù)處理SQL腳本程序(Transact-SQL s cripts )
事務(wù)處理SQL語句通常是由數(shù)據(jù)庫程序調(diào)用的,但是您也可以使用SQL Server 7.0中包含的SQL Server 查詢分析器直接運行它們。SQL Server 查詢分析器可幫助開發(fā)者測試事務(wù)處理SQL語句,或運行那些執(zhí)行查詢處理、數(shù)據(jù)操作(插入,修改,刪除)和數(shù)據(jù)定義(創(chuàng)建表)的事務(wù)處理SQL語句。
存儲過程(Stored procedures )
開發(fā)者可以將大部分產(chǎn)生自Access查詢(查找,插入,修改,刪除)的事務(wù)處理SQL語句轉(zhuǎn)移至存儲過程。用事務(wù)處理SQL語句書寫的存儲過程可以用來對您的數(shù)據(jù)存取打包,并使之標準化,而且存儲過程實際上是存儲在數(shù)據(jù)庫中的。存儲過程可以帶參數(shù),也可不帶參數(shù),可以由數(shù)據(jù)庫程序調(diào)用或者由SQL Server查詢分析器手動執(zhí)行。
視圖(Views )
視圖是從一個或多個表中顯示特定的行和列的虛擬表。它們允許用戶可以不直接執(zhí)行構(gòu)成查詢基礎(chǔ)的復(fù)雜連接而建立查詢。視圖不支持參數(shù)的使用。連接多個數(shù)據(jù)表的視圖不能用INSERT, UPDATE或 DELETE語句來修改。視圖由事務(wù)處理SQL語句調(diào)用,也可用于SQL Server查詢分析器中運行的程序段。SQL Server視圖和SQL-92標準不支持視圖中的ORDER BY排序子句。如欲了解事務(wù)處理SQL,存儲過程和視圖的其他信息,請參閱SQL Server 在線參考書。
Access查詢類型的SQL Server移植選擇與建議
一個SELECT語句可以存儲在事務(wù)處理SQL文件、存儲過程或是視圖中。建立存儲過程是將數(shù)據(jù)庫應(yīng)用開發(fā)與數(shù)據(jù)庫設(shè)計的物理實施分開的最佳方法。存儲過程可在一處創(chuàng)建而由應(yīng)用程序調(diào)用。
如果存儲過程所基于的數(shù)據(jù)庫變化了,而存儲過程經(jīng)過仔細的修改以反應(yīng)這些變化,則對存儲過程的調(diào)用將不會受到破壞。
交叉表(CROSSTAB)
交叉表經(jīng)常用于總結(jié)報表。
一個Access的交叉表可以通過SQL程序段、存儲過程或視圖中的事務(wù)處理SQL語句來執(zhí)行。每當(dāng)發(fā)出一個查詢時,數(shù)據(jù)連接被重現(xiàn)執(zhí)行以確保最近的數(shù)據(jù)得到使用。
根據(jù)實際應(yīng)用情況,比較合適的方法是將交叉表中的數(shù)據(jù)存儲為一個臨時表(參考下面的MAKE TABLE),臨時表對資源的需求比較少,但是臨時表在建立的同時只提供對數(shù)據(jù)的一個快照(snapshot)。
創(chuàng)建表(MAKE TABLE)
Access中的“MAKE TABLE”( 創(chuàng)建表)可以通過事務(wù)處理SQL腳本程序或存儲過程中的事務(wù)處理SQL語言的建表語句“CREATE TABLE”來執(zhí)行。語法如下所示:
SELECT [ ALL | DISTINCT ]
[ {TOP integer | TOP integer PERCENT} [ WITH TIES] ]
<select_list>
[ INTO new_table ]
[ FROM {<table_source>} [,…n] ]
[ WHERE <search_condition> ]
[ GROUP BY [ALL] group_by_expression [,…n]
[ WITH { CUBE | ROLLUP } ]
CREATE TABLE mytable (low int, high int)
UPDATE(修改)
UPDATE語句可以存儲在事務(wù)_SQL腳本程序中,然而比較好地執(zhí)行UPDATE語句的方法是創(chuàng)建一個存儲過程。
APPEND(添加)
ALLEND語句可以存儲在事務(wù)_SQL腳本程序中,然而比較好地執(zhí)行APPEND語句的方法是創(chuàng)建一個存儲過程。
移植Microsoft Access的查詢到存儲過程和視圖
每個Access查詢都必須用以下的一系列語句替換:
CREATE PROCEDURE <NAME_HERE> AS
< SELECT, UPDATE, DELETE, INSERT, CREATE TABLE statement from Microsoft Access >
GO
CREATE VIEW <NAME_HERE> AS
<Place (SELECT only, with no parameters) Microsoft Access Query>
GO
對每個Access查詢應(yīng)執(zhí)行:
打開Access,然后在SQL Server中,打開SQL Server查詢分析器。
在Access的數(shù)據(jù)庫窗口中點擊“Queries”tab鍵,然后點擊“Design”按鈕。
在“View”菜單上點擊“SQL”按鈕。
將整個查詢粘貼到SQL Server查詢分析器中。
測試語法,保存事務(wù)處理SQL語句以備后用,或者在數(shù)據(jù)庫中執(zhí)行這些語句。您可以選擇將事務(wù)處理SQL語句保存到一段腳本程序中。
分享:如何給ODBC連接打開連接池如果要將 ODBC 驅(qū)動程序加入到連接共享中,則必須配置數(shù)據(jù)庫驅(qū)動程序并在 Windows NT 注冊表中設(shè)置驅(qū)動程序的 CPTimeout屬性。當(dāng) ODBC 斷開連接時,連接被存入池中,而不是被斷開。 CPTimeout
- Access數(shù)據(jù)庫安全策略之ASP式
- 第N次被ACCESS的關(guān)鍵字涮
- Access中用Jet SQL語句刪除表關(guān)系
- Access報表打印如何自動分頁
- Access完成累計余額的計算
- 搭建Access為主的Mdb數(shù)據(jù)庫
- 一句sql更新兩個表并可更新對應(yīng)的字段值具體實現(xiàn)
- MySQL查詢優(yōu)化:連接查詢排序limit(join、order by、limit語句)介紹
- 內(nèi)網(wǎng)ssh/mysql登錄緩慢的解決方法
- 使用準則進行條件查詢--1.4.從窗體中選擇查詢的條件
- 中文Access2000速成教程--1.1 使用“向?qū)А痹O(shè)計數(shù)據(jù)庫
- 中文Access2000速成教程--1.3 在“設(shè)計”視圖中設(shè)計表
- 相關(guān)鏈接:
- 教程說明:
Access數(shù)據(jù)庫教程-將Access數(shù)據(jù)庫移植到SQLServer
。