亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Access > 正文

將現有的Access數據庫升級為SQL

2020-03-24 16:22:11
字體:
來源:轉載
供稿:網友
很多Access和SQL Server開發人員都經常面臨著將一個Access數據庫升級到SQL Server數據庫的問題。由于存在現有的Access升級向導,這一轉變的過程就會變得相當簡單,尤其是當你建立一個與SQL Server數據相聯系的ADP的時候。然而,向導并不是十全十美的,需要解決的問題還是大有存在。
首先,有些對象并不是簡單的升級,所以這時你不得不人為地處理。第二,很多Access特性──比如一些查詢類型,對象,以及特定的數據類型在你沒有做好升級之前的準備的情況下就會導致錯誤的產生?,F在,讓我們討論一下在數據庫升級過程中可能面臨的問題,我將提供能夠解決問題的一些通用的指導方法,最后,你必須花一定的時間和精力將這些知識應用到開發之中。哪些不能夠升級?
在處理實際的問題之前,讓我們看看不能隨意升級的對象,它們包括以下:交叉表查詢
包含SQL DISTINCTROW關鍵字的任何查詢
所有的隱藏對象
作為參數的表格數據的查詢(這些表格可以升級,但它們卻不能正確的運行)
Pass-Through查詢
SQL數據定義語言查詢(比如CREATE TABLE, ALTER TABLE, 以及DROP語句)
這些Access對象需要特定的處理。具體的,你將建立一個可比較的SQL Server對象,除此之外,SQL Server不支持Jet安全特性,所以你必須使用Windows認證和/或SQL Server安全機制。包括的問題點
在數據庫的升級之前,如果你已經知道哪些地方將可能導致錯誤并知道如何處理產生的錯誤,數據庫升級過程中導致的錯誤的可能性將大大地減少。我能夠提供的數據庫升級的最好的建議是在開發之前做好最完整的計劃?,F在,我將列舉數據庫升級過程中可能會導致產生的問題──如果你沒有做好計劃之前的準備。不支持的日期

關于日期,在Access和SQL Server之間都存在很大的差別。Access支持很大范圍的日期,從100年1月1日到9999年12月31日。相反,SQL Server支持的日期從1753年1月1日到9999年12月31日。數據庫的升級向導無法升級包含SQL Server不支持的日期的表格。這就意味著在升級之前你必須人工地處理這些日期。幸運的是,這一問題只影響少數的數據庫。與表格控制相關的查詢
開發人員通常會使用表格控制的查詢來限制或詢問一個數據來源。一個表格可以提供將數據顯示在一個特定報告中的多種選擇。例如,SQL SELECT語句包含了用戶的輸入:SELECT Orders.RequiredDate, Orders.ShippedDate, Orders.Freight,
Orders.ShipName, Orders.ShipAddress, Orders.OrderDate
FROM Orders
WHERE
Orders.OrderDate Between [Forms]![DateFilter]![DateFrom] And [Forms]![DateFilter]![DateTo]));為了限定報告中的數據,用戶可以輸入一個開始和結束的日期到列表(DateFrom 和DateTo)。其他的代碼可以打開并顯示滿足用戶輸入的兩個日期之間的記錄。因為這種查詢方式被Jet處理,表格中產生的問題可以很快被解決。然而,當數據庫升級時,SQL Server不會涉及到表格控制,結果通常為查詢失敗。為了修正這一查詢方式,開發人員必須更改表格。我建議你使用輸入參數屬性,并將數值傳遞到SQL Server存儲程序。交叉表查詢
SQL Server不支持Jet TRANSFORM語句──這一語句可以使一個交叉表查詢成為可能。例如,數據庫升級向導支持以下查詢方式:TRANSFORM Sum(CCur([Order Details].UnitPrice*[Quantity]*(1-[Discount])/100)*100)
AS ProductAmount
SELECT Products.ProductName, Orders.CustomerID, Year([OrderDate]) AS OrderYear
FROM Products INNER JOIN (Orders INNER JOIN [Order Details]
ON Orders.OrderID = [Order Details].OrderID) ON Products.ProductID =
[Order Details].ProductID
WHERE Orders.OrderDate Between #1/1/1997# And #12/31/1997#
GROUP BY Products.ProductName, Orders.CustomerID, Year([OrderDate])
PIVOT "Qtr " DatePart("q",[OrderDate],1,0) In ("Qtr 1","Qtr 2","Qtr 3","Qtr 4")還好,你無需在SQL Server中使用Transact-SQL (T-SQL) CASE關鍵詞重新編寫一個Access的交叉表查詢。下面的SELECT語句描述了使用T-SQL方式重新建立一個交叉表查詢的語法:SELECT Customers.CustomerID, Customers.CustomerName
SUM (Case When Orders.Orderdate BETWEEN '01-Jan-1990' AND '31-Dec-1996'
Then [UnitPrice]*[Quantity] Else 0 End) as 1997)
FROM Customers INNER JOIN Orders
ON CustomerID=Orders.CustomerID隱藏對象
所有的隱藏對象在數據庫升級過程中都被忽略。對此,你最好的處理方法是使用程序對象的GetHiddenAttribute屬性檢查對象。例如,以下代碼使用這一方法決定對象是否被隱藏。
Dim IsHidden As Boolean
If Application.GetHiddenAttribute(objtype, objname) Then
IsHidden = True
End If如果特定的對象被隱藏,IsHidden布爾變量將被為True。包含索引的表格

數據庫升級向導不支持沒有索引或其他限制的表格。升級向導可以升級一個無索引的表格,但其轉換之后只能成為一個只讀的表格。幸運的是,解決這一問題很簡單:添加一個索引到每一個沒有索引的表格。一旦你已經完成升級數據庫,請記住將添加的索引刪除。數據庫升級操作步驟
一旦你已經做好一切準備,并確定操作可以開始。數據庫升級向導可以為你提供三種選擇:輸出Access表格到SQL Server并鏈接到Access數據庫使用Pass-Through查詢與SQL Server的后臺服務器的表格相互通訊
將整個Access數據庫移動到一個Access數據庫工程(其只與SQL Server聯系)
為了啟動數據庫升級向導,先從工具菜單欄中選擇數據庫功能,然后從子菜單中選擇升級向導。向導的第一個面板提供兩種選擇:你可以建立一個新的SQL Server 數據庫來存放Access表格,如圖A所示,或者你可以在一個現成的SQL Server數據庫中添加表格。選擇一個現成的SQL Server數據庫將需要輸入一個數據服務名稱(DSN)。
圖 A選擇建立一個新的數據庫或者使用一個現成的數據庫第二個面板要求獲得SQL Server范例的信息。除此之外,你必須認證安全機制(如果存在)和為新的數據庫提供一個缺省的名稱,如圖B所示。為一個新的數據庫命名在這點上,你可以將需要的表格復制到SQL Server,你也可以指出完成的部分將成為一個完整的ADP或者一個被鏈接的表格,如圖C所示。圖 C指明一個ADP或者一個被鏈接的表格
避開麻煩
每一個開發人員都有不同的數據庫升級操作的經驗,所以無法保證第一次操作就能夠達到成功。然而,如果你遵循本文中提供的有關規則,你應該遇到更少的錯誤,即使碰到,你也可以很容易地修正錯誤,并繼續操作。 本文作者:html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久久久久久不卡| 欧美另类第一页| 尤物精品国产第一福利三区| 91精品国产综合久久香蕉最新版| 精品亚洲一区二区| 欧美一区二区色| 日本一本a高清免费不卡| 色妞欧美日韩在线| 欧美激情免费在线| 欧洲成人性视频| 狠狠躁夜夜躁久久躁别揉| 黑人精品xxx一区一二区| 欧美黑人xxx| 国产精品亚洲第一区| 亚洲free性xxxx护士hd| 精品视频9999| 国产精品扒开腿做| 亚洲精品wwww| 亚洲视频在线观看网站| 欧美激情乱人伦一区| 青青草原成人在线视频| 国产日本欧美视频| 亚洲国语精品自产拍在线观看| 久久久久久久亚洲精品| 在线观看视频99| 精品福利在线视频| 国产成人福利夜色影视| 欧美中文在线字幕| 91中文字幕在线观看| 久久99精品视频一区97| 欧美精品日韩三级| 亚洲精品99999| 日韩av一区在线观看| 欧洲精品毛片网站| 久久影视电视剧免费网站清宫辞电视| 亚洲成人黄色在线观看| 欧美激情一区二区三区在线视频观看| 国产精品久久久久久久av电影| 伊人青青综合网站| 日韩激情av在线免费观看| 国产精品自拍网| 日韩一级裸体免费视频| 亚洲国产91色在线| 久久精品国产亚洲7777| 亚洲国产美女精品久久久久∴| 亚洲黄页网在线观看| 日韩中文字幕在线播放| 大胆欧美人体视频| 欧美一区二区三区免费观看| 国产精品自产拍在线观看中文| 91精品久久久久久久久久久久久| 国产美女久久久| 国产精品海角社区在线观看| 国产视频精品一区二区三区| 久久久久久久久国产精品| 亚洲自拍欧美色图| 久久久久一本一区二区青青蜜月| 亚洲国产精品免费| 2020久久国产精品| 久久久国产视频91| 欧美极品美女电影一区| 国产成+人+综合+亚洲欧洲| 成人h视频在线观看播放| 97在线观看免费| 国产精品偷伦一区二区| 日韩电影免费观看在线| 欧美专区日韩视频| 欧美日韩在线视频观看| 国产999精品| 国产美女91呻吟求| 亚洲人成电影网站色| 一区二区三区国产视频| 亚洲天堂开心观看| 国产日韩欧美91| 国产美女精品视频免费观看| 日韩va亚洲va欧洲va国产| 国产精品久久久久久久久久小说| 成人精品一区二区三区电影免费| 国产国语videosex另类| 久久精品国产91精品亚洲| 亚洲乱码国产乱码精品精天堂| 日韩av网址在线| 国产偷亚洲偷欧美偷精品| 亚洲综合日韩中文字幕v在线| 国产美女精品免费电影| 66m—66摸成人免费视频| 精品国产一区二区三区久久久狼| 欧美性xxxx在线播放| 97精品免费视频| 亚洲欧洲国产伦综合| 色阁综合伊人av| 青青久久av北条麻妃海外网| 欧美夫妻性视频| 欧美激情亚洲精品| 国产精品女人久久久久久| 在线日韩日本国产亚洲| 亚洲最大的网站| 九九热最新视频//这里只有精品| 这里只有视频精品| 国产精品小说在线| 欧美性受xxx| 国产精品入口日韩视频大尺度| 懂色av中文一区二区三区天美| 8050国产精品久久久久久| 日韩av一区在线观看| 国语自产精品视频在线看一大j8| 欧美日韩福利电影| 午夜精品一区二区三区视频免费看| 久久久久成人网| 亚洲欧洲自拍偷拍| 日韩大片免费观看视频播放| 亚洲视频在线播放| 日本精品视频在线| 亚洲成人久久久久| 日韩av在线高清| 色婷婷av一区二区三区在线观看| 色琪琪综合男人的天堂aⅴ视频| 国产美女高潮久久白浆| 精品少妇一区二区30p| 国产一区二区日韩| 一区二区欧美日韩视频| 成人国内精品久久久久一区| 欧美黄色成人网| 欧美激情18p| 日韩av中文字幕在线播放| 日韩女优人人人人射在线视频| 亚洲国产精品网站| 日韩在线观看网址| 欧美精品手机在线| 亚洲高清一二三区| 国产成人av网址| 精品人伦一区二区三区蜜桃网站| 欧美一区在线直播| 97人人模人人爽人人喊中文字| 日韩精品视频在线观看免费| 中文字幕日韩欧美精品在线观看| 欧美激情在线视频二区| 伊人青青综合网站| 日韩久久免费视频| 亚洲欧美日韩一区二区在线| 大胆欧美人体视频| 51色欧美片视频在线观看| 久久久精品中文字幕| 欧美大奶子在线| 96精品视频在线| 亚洲天堂男人天堂| 成人黄色大片在线免费观看| 国产精品久久久久久久久免费看| 国产精品成人国产乱一区| 国产精品99久久久久久人| 91情侣偷在线精品国产| 日韩av免费看网站| 日韩欧美第一页| 欧美日本高清一区| 精品亚洲永久免费精品| 欧美午夜精品久久久久久浪潮| 亚洲国产精品中文| 亚洲国产精品久久久久| 久久久99免费视频| 久久久久久久久久久人体| 在线电影欧美日韩一区二区私密| www.亚洲男人天堂| 午夜伦理精品一区| 久久不射电影网|