sqlserver與access
1. sql Server 和Access區別是什麼
Access具備後台儲存與前台界面開發的功能 90%的功能用於開發軟體 10%用於儲存功能
Access的優勢功能在於前台設計界面的開發 他是由表\查詢\窗體\宏\報表\頁\模塊等等這些組成,
可以進行更方便的設計操作數據.同時Access的儲存功能較小 2G空間 一般區域網聯機不能超過5至8台
多於8台的共享訪問速度會急劇下降 所以一般超過8台以上建議使用
Access開發+SQL server儲存集合的方式
Access作為儲存工具,數據存儲量達到1百兆以上基本壽命就快到了,注意好備份,一旦損壞就沒得救了。
SQL server是用於後台數據儲存數據與查詢的 不具備軟體界面的設計開發 是最理想的大型資料庫儲存工具
而sqlserver資料庫就相當於有個管理員專門管sqlserver倉庫的大門 數據安全性系數很高。
"企業中對Access比較了解或者精通的人可能只有百分之一,而這百分之一的人中,會對公司的軟體系統進行惡意破解或破壞的人不到百分之一。" 所以普通公司(沒有電腦高手)一般Access開發的不經過加密,使用也是沒問題的
以上只是個人觀點:)
2. Access資料庫和SQL Server資料庫在實際應用中的區別
1.在Access資料庫中簡歷查詢語句的步驟
-->
打開你的MDB
-->
在資料庫窗口中,點擊「查詢」,或在「視圖」菜單中選擇「資料庫對象」->
「查詢」
-->
點擊資料庫窗口中的「新建」按鈕
-->
點擊「確定」,關閉「顯示表」窗口
-->
點擊工具欄上的「SQL」,或在「視圖」菜單中選擇「SQL
視圖」
-->
刪掉所有的內容
-->
直接輸入SQL語句即可
2.
Access
資料庫,每次只能執行一條sql語句,如果想在Access資料庫中一次執行多條Sql語句,則要使用事務進行控制
OldDbTransaction
3.
在SQL
Server中的for
xml
path語句無法再Access資料庫中使用
4.
操作語句
select
access資料庫在有多個表查詢的時候,表之間的聯合語句要使用圓括弧括起來,如:
SELECT
*
FROM
(aa
LEFT
JOIN
bb
ON
aa.a=bb.a)
LEFT
JOIN
cc
ON(bb.a=cc.a
and
bb.b=cc.b)
另外,在多表連接時,不可以使用『Full
Join』連接
update
update對於單表操作時基本一致。
但多表操作時update語句的區別ACCESS與SQLSERVER中的UPDATE語句會有差別:
SQLSERVER中更新多表的UPDATE語句:
UPDATE
Table1
SET
a.Name
=
b.Name
FROM
Table1
a,
Table2
b
WHERE
a.ID
=
b.ID;
ACCESS中同樣功能的SQL語句:
UPDATE
Table1
a,
Table2
b
SET
a.Name
=
b.Name
WHERE
a.ID
=
b.ID;
比較得出:ACCESS中的UPDATE語句沒有FROM子句,所有引用的表都列在UPDATE關鍵字後,這點同mysql;
delete
SQLSERVER中:DELETE
from
Table1
WHERE
ID
>
1;
Access中:DELETE
*
from
Table1
WHERE
ID
>
1;
比較得出:SQLSERVER中,即只要把select語句里的select與delete的操作語法一致的,不需要*;
5、時間欄位
A:要用#號分隔,或者轉換為日期
SELECT
*
FROM
Books
WHERE
RegDate
=
#2007-5-1#
或
SELECT
*
FROM
Books
WHERE
RegDate
=
CDate(』2007-5-1′)
S:可以直接用''
SELECT
*
FROM
Books
WHERE
RegDate
=
『2007-5-1′
O:To_Date
SELECT
*
FROM
Books
WHERE
RegDate=To_Date('2007-05-01','yyyy-mm-dd')
6.
Access資料庫表中的主鍵要設置自動增長類型,當一個數據表中已經存在數據後,則不可以將欄位設置為自動增長類型。
7.Access的查詢中不能出現select
top
0
from
xxx
的情況
8.Access資料庫的數據類型轉換
CBool
Boolean
任何有效的字元串或數值表達式。
CByte
Byte
0
到
255。
CCur
Currency
-922,337,203,685,477.5808
到
922,337,203,685,477.5807。
CDate
Date
任何有效的日期表達式。
CDbl
Double
對於負值,-1.79769313486231E308
到
-4.94065645841247E-324;對於正值,4.94065645841247E-324
到
1.79769313486232E308。
CDec
Decimal
對於整數(即沒有小數的數字),+/-79,228,162,514,264,337,593,543,950,335。對於具有
28
位小數的數字,值域范圍是
+/-7.9228162514264337593543950335。可能的最小非零數字為
0.0000000000000000000000000001。
CInt
Integer
-32,768
到
32,767;小數部分被四捨五入。
CLng
Long
-2,147,483,648
到
2,147,483,647;小數部分被四捨五入。
CSng
Single
對於負值,-3.402823E38
到
-1.401298E-45;對於正值,1.401298E-45
到
3.402823E38。
CStr
String
CStr
的返回值取決於
expression
參數。
CVar
Variant
對於數字,與雙精度型的值域范圍相同。對於非數字值,與
String
的值域范圍相同。
9
ACCESS
不識別!=
替換成<>
3. 請告訴我SQLServer資料庫和Access資料庫的各自特點
Access是一種桌面資料庫,只適合數據量少的應用,在處理少量數據和單機訪問的資料庫時是很好的,效率也很高。但是它的同時訪問客戶端不能多於4個。access資料庫有一定的極限,如果數據達到100M左右,很容易造成伺服器iis假死,或者消耗掉伺服器的內存導致伺服器崩潰。
SQL Server是基於伺服器端的中型的資料庫,可以適合大容量數據的應用,在功能上管理上也要比Access要強得多。在處理海量數據的效率,後台開發的靈活性,可擴展性等方面強大。因為現在資料庫都使用標準的SQL語言對資料庫進行管理,所以如果是標准SQL語言,兩者基本上都可以通用的。SQL Server還有更多的擴展,可以用存儲過程,資料庫大小無極限限制。
SQL Server資料庫的特徵及其與Access資料庫的區別
內 容
Access特徵
MS SQL特徵
版本
桌面版
網路版,可支持跨界的集團公司異地使用資料庫的要求
節點
一人工作,要鎖定,其他人無法使用 節點多,支持多重路由器
管理許可權
否
管理許可權劃分細致,對內安全性高
防黑客能力
否
資料庫劃分細致,對外防黑客能力高
並發處理能力
100人或稍多
同時支持萬人在線提交,在其它硬體例如網速等條件匹配的情況下可完全實現
導出XML格式
可以,需要單作程序
可導出成為XML格式,與Oracle資料庫和DB2資料庫通用,減少開發成本
數據處理能力
一般
快
是否被優化過
否
是
SQL Server 2005—資料庫管理10個最重要的特點
1.資料庫鏡像
通過新資料庫鏡像方法,將記錄檔案傳送性能進行延伸。您將可以使用資料庫鏡像,通過將自動失效轉移建立到一個待用伺服器上,增強您SQL伺服器系統的可用性。
2.在線恢復
使用SQL2005版伺服器,資料庫管理人員將可以在SQL伺服器運行的情況下,執行恢復操作。在線恢復改進了SQL伺服器的可用性,因為只有正在被恢復的數據是無法使用的,而資料庫的其他部分依然在線、可供使用。
3.在線檢索操作
在線檢索選項可以在指數數據定義語言(DDL)執行期間,允許對基底表格、或集簇索引數據和任何有關的檢索,進行同步修正。例如,當一個集簇索引正在重建的時候,您可以對基底數據繼續進行更新、並且對數據進行查詢。
4.快速恢復
新的、速度更快的恢復選項可以改進SQL伺服器資料庫的可用性。管理人員將能夠在事務日誌向前滾動之後,重新連接到正在恢復的資料庫。
5.安全性能的提高
SQL Server 2005包括了一些在安全性能上的改進,例如資料庫加密、設置安全默認值、增強密碼政策、縝密的許可控制、以及一個增強型的安全模式。
6.新的SQL Server Management Studio
SQL Server 2005引入了SQL Server Management Studio,這是一個新型的統一的管理工具組。這個工具組將包括一些新的功能,以開發、配置SQL Server資料庫,發現並修理其中的故障,同時這個工具組還對從前的功能進行了一些改進。
7.專門的管理員連接
SQL Server 2005將引進一個專門的管理員連接,即使在一個伺服器被鎖住,或者因為其他原因不能使用的時候,管理員可以通過這個連接,接通這個正在運行的伺服器。這一功能將能讓管理員,通過操作診斷功能、或Transact—SQL指令,找到並解決發現的問題。
8.快照隔離
我們將在資料庫層面上提供一個新的快照隔離(SI)標准。通過快照隔離,使用者將能夠使用與傳統一致的視野觀看資料庫,存取最後執行的一行數據。這一功能將為伺服器提供更大的可升級性。
9.數據分割
數據分割 將加強本地表檢索分割,這使得大型表和索引可以得到高效的管理。
10.增強復制功能
對於分布式資料庫而言,SQL Server 2005提供了全面的方案修改(DDL)復制、下一代監控性能、從甲骨文(Oracle)到SQL Server的內置復制功能、對多個超文本傳輸協議(http)進行合並復制,以及就合並復制的可升級性和運行,進行了重大的改良。另外,新的對等交易式復制性能,通過使用復制,改進了其對數據向外擴展的支持。
參考資料:http://..com/question/1980267.html
http://www.e-dragon.com.cn/Html/DEMO_SqlServer/Info/2007071813510021HQ640S05.shtml
4. SQL Server資料庫與Access資料庫有什麼區別
SQL Server是一個關系資料庫管理系統。因此,前者是作為一種標准化的結構查詢語言而言的,後者是關系資料庫的管理系統,它是一個全面的資料庫平台。單就二者的比較而言,Access資料庫是桌面資料庫系統,而且它可以開發基於自己的桌面資料庫應用(UI),也可以作為前端開發工具與其它資料庫搭配開發應用程序(如SQL Server,DB2,Oracle等)。
但是Access資料庫數據儲存量小,安全性不夠高,對高強度操作適應性比較差。SQL Server是一個關系資料庫管理系統,安全性高,真正的客戶機/伺服器體系結構,圖形化用戶界面,使系統管理和資料庫管理更加直觀、簡單,豐富的編程介面工具為用戶進行程序設計提供了更大的選擇餘地。而且具有很好的伸縮性,可跨越多種平台使用,對Web技術的支持,使用戶能夠很容易地將資料庫中的數據發布到Web頁面上。
5. Access資料庫與SQL Sever 資料庫區別很大嗎
Access資料庫與SQL Sever 資料庫區別:
1、Access是關聯式資料庫管理系統;SQL Server是一個關系資料庫管理系統
2、Access資料庫數據儲存量小,安全性不夠高,對高強度操作適應性比較差;SQL Server安全性高,真正的客戶機/伺服器體系結構,圖形化用戶界面,使系統管理和資料庫管理更加直觀、簡單,豐富的編程介面工具為用戶進行程序設計提供了更大的選擇餘地。
3、Access資料庫是桌面資料庫系統,而且它可以開發基於自己的桌面資料庫應用(UI),也可以作為前端開發工具與其它資料庫搭配開發應用程序(如SQL Server,DB2,Oracle等);SQL Server資料庫關系資料庫的管理系統,它是一個全面的資料庫平台。
4、Access資料庫部署簡單方便;SQL Server資料庫操作數據比Access較為復雜。
(5)sqlserver與access擴展閱讀:
ACCESS資料庫特性:使用唯一的別名,傳遞空指針給動態庫,動態庫調用無符號整數,SHIFT和F2鍵調用過程。
SQLserver資料庫特性:
(1)高性能設計,可充分利用WindowsNT的優勢。
(2)系統管理先進,支持Windows圖形化管理工具,支持本地和遠程的系統管理和配置。
(3)強壯的事務處理功能,採用各種方法保證數據的完整性。
(4)支持對稱多處理器結構、存儲過程、ODBC,並具有自主的SQL語言。
網路——SQLserver資料庫
6. SQL SERVER和ACCESS有什麼用法的不同呢
1,對於日期欄位欄位
access表示為:#1981-28-12#
SQLSERVER2000表示為:''1981-02-12''
2,SQL語句區別,select
,update
在對單表操作時都差不多,
但多表操作時update語句的區別ACCESS與SQLSERVER中的UPDATE語句對比:
SQLSERVER中更新多表的UPDATE語句:
UPDATE
Tab1
SET
a.Name
=
b.Name
FROM
Tab1
a,Tab2
b
WHERE
a.ID
=
b.ID;
同樣功能的SQL語句在ACCESS中應該是
UPDATE
Tab1
a,Tab2
b
SET
a.Name
=
b.Name
WHERE
a.ID
=
b.ID;
即:ACCESS中的UPDATE語句沒有FROM子句,所有引用的表都列在UPDATE關鍵字後.
更新單表時:都為:
UPDATE
table1
set
ab='12',cd=444
where
....
3,delete語句
access中刪除時用:delete
*
from
table1
where
a>2
即只要把select
語句里的select
換成delete就可以了。
sqlserve
中則為:
delete
from
table1
where
a>2
即沒有*號
4,as
後面的計算欄位區別
access中可以這樣:select
a,sum(num)
as
kc_num,kc_num*num
as
all_kc_num
即可以把AS後的欄位當作一個資料庫欄位參與計算。
sqlserver
中則為:select
a,sum(num)
as
kc_num,sum(num)*num
as
all_kc_num
即不可以把AS後的欄位當作一個資料庫欄位參與計算。
5,[.]與[!]的區別
access中多表聯合查詢時:select
tab1!a
as
tab1a,tab2!b
tab2b
from
tab1,tab2
,中間的AS可以不要。
sqlserve
中則:select
tab1.a
as
tab1a,tab2.b
tab2b
from
tab1,tab2
,中間的AS可以不要。
6,聯合查詢時,
access中多表聯合查詢:'select
a,b
from(
select
a,b
from
tab1
where
a>3
union
select
c,d
from
tab2
)
group
by
a,b
sqlserve
中則'select
a,b
from(
select
a,b
from
tab1
where
a>3
union
select
c,d
from
tab2
)
tmptable
group
by
a,b即要加一個虛的表tmptable,表名任意。---
7,access升級到sqlserver時,
可以用sqlserver的數據導入工具導入數據,但要做必要的處理。
access中的自動編號,不會自動轉換SQL中的自動編號,只能轉換為int型,要把它手工改成標識欄位,種子為1,把所有導入被sqlserver轉化成的以n開頭的欄位類型的n去掉,如nvarchar->varchar.把需要有秒類型的日期欄位改成datatime類型(SQL會把所有的日期開轉化成smalldatetime型)
8,true與1=1
access用where
true表示條件為真,
sqlserver用where
1=1表示條件為真
9,判斷欄位值為空的區別
普通空:
Access和sql
server一樣
where
code
is
null
或
where
code
is
nol
null
條件空:
Access:iif([num]
is
null,0,[num])
或
iif([num]
is
null,[num1],[num])
SQLServer:
isnull([num],0)
或
isnull([num],[num1])
10,SQL語句取子串的區別
access:MID(欄位,n1,[n2]),LEFT(欄位,n),RIGHT(欄位,n)
如:select
left(cs1,4)+'-'+cs2
as
cs3
SQLServer:
SUBSTRING(expression,
start,
length)
如:select
substring(cs1,
1,
2)
+
substring(cs1,
4,
2)
+
'-'
+
cs2
as
cs3
7. SQL server與access的大概區別\什麼是sqlserver
Access是單機資料庫,SqlServer是網路資料庫Access數據文件最大建議一般200MB,再大的話會不穩定;SqlServer資料庫基本沒有大小限制,硬碟空間足夠就可以使用;Access是免費的,SqlServer是收費的;Access資料庫斷電或者死機時容易損壞,導致數據錯誤;SqlServer更穩定,會健壯的多。
8. 請問各種資料庫之間怎麼相互導數據(如Access和SQLServer)
sqlserver與access的互導,是很容易的,在sqlserver中使用dts的功能就行,也就是可以點右鍵,任務,導入數據,再選access就行了.
而access要導入sqlserver的數據就要使用其附帶的導入功能.必要時要使用到系統的數據源功能.access和sqlserver導入標准格式的excel都是很容易的事情,但要自動識別格式就不容易了,有時,excel中的明明是一列的數字,sqlserver會把把它們識別為string,或直接告訴你,導入錯誤.
所以建議先導入access再導入sqlserver.
另外,使用操作系統,管理工具,配置數據源的功能,也就是odbc的功能,可以把異構的資料庫如db2,oracel的數據都導入到sqlserver,但是也因為各種的資料庫都欄位的要求不一樣,如vchar(50),mvchar(50)的定義不一樣,導入時,大多會出現大量的錯誤信息.
9. access轉sqlserver,表之間的關系還在嗎
可以轉,但表之間的關系的話, 建議手工添加上。
1、打開ACCESS2007的資料庫遷移向導
2、點擊SQLSERVER按鈕,彈出升遷向導對話框
3、選擇新建資料庫
4、輸入計算機名,我的本地計算機名字叫joe,因為SQLSERVER安裝在本地,所以選擇使用可信連接就可以了
資料庫名稱默認就可以了
5、選擇所有表,移動到右邊框
6、把表索引也一起升遷到SQLSERVER里
7、由於沒有應用程序,這一步可以直接跳過
8、點擊完成按鈕開始遷移資料庫到SQLSERVER
9、開始遷移
10. 如何將ACCESS資料庫導入到SQLSERVER
一.使用SQL Server的資料庫導入/導出功能。首先在要導入到的SQL Srever資料庫上右鍵,選擇「任務」,然後選擇「導入數據」,按照提示下一步直到完成即可成功將Access資料庫導入到SQL Server資料庫中,此種方法如果SQLServer資料庫中沒有相應的數據表,則會自動創建改表,但是約束等表關系不會同步導入,如果SQLServer中有相同名稱並且屬性相同的數據表,則會直接將Access資料庫中的對應表的數據導入。
在導入過程中,還可以通過SQL語句指定要導入的數據。
使用這種方法一般會出現以下兩種錯誤:
(1)無法建立數據流連接
為連接管理器「{FFBF32BF-EE84-4F94-ACDB-D4C5AC4C2941}」指定的連接類型「OLEDB」未被識別為有效的連接管理器類型。當視圖創建未知連接類型的連接管理器時會返回此錯誤。請檢查連接類型名稱的拼寫是否正確。
(2)無法連接源組件
找不到連接「SourceConnectionOLEDB」。如果找不到特定的連接元素,Connections集合將發生此錯誤。
其他信息:
找不到連接「SourceConnectionOLEDB」。如果找不到特定的連接元素,Connections集合將發生此錯誤。
({0DE0CDBB-BCD6-4261-A118-B0CB22DA3C4A})
具體解決辦法是打開SqlServerConfiguration Manage,右鍵單擊「SqlServer Integration Services」,選擇「屬性」,將登錄身份修改為「LocalSystem(本地系統)」,然後重新啟動該服務。
二.使用Access資料庫的數據升遷功能。首先點擊「工具」菜單,選擇「資料庫實用工具」,選擇「升遷向導」,這是會提示該功能尚未安裝,需要安裝XXX之類的信息,點擊安裝,等待安裝成功後,即可彈出「升遷向導」對話框,按照提示下一步直到完成,即可將Access資料庫導入到SQLServer資料庫中。使用此種方法的好處是Access資料庫中的所有數據以及表關系都會被原樣導入到SQL Server資料庫中。
三.使用SQL語句批量導入。1當只需要導入Access資料庫中的指定表以及指定表的指定列到SQLServer資料庫中時,前面的兩種方法就顯得不那麼方便了。而使用SQL語句導入可以方便快捷的導入需要的數據。具體代碼如下
(1)SQLServe資料庫中已存在要導入數據的表.(這樣可以事先按照要導入的Access資料庫的數據表創建好需要的關系)
Insert intotable(tid,tname)SELECT id,nameFROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\Shop.mdb";User ID=Admin;Password=' )...ShopGoods
(2)SQLServer資料庫中不存在要存儲導入數據的表.(使用下面的代碼會直接在SQL Server資料庫中創建相應的數據表)
SELECTid,nameINTO table(tid,tname)FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\Shop.mdb";User ID=Admin;Password=' )...ShopGoods
其中,table是SQL Server中用來存儲Access導入數據的數據表名,ShopGoods是指要導入到SQLServer中的Access資料庫中的數據表名。前面的三個點不能省略。
但使用這種方法時有可能出現以下錯誤:
SQLServer 阻止了對組件 'Ad Hoc DistributedQueries' 的STATEMENT'OpenRowset/OpenDatasource' 的訪問,因為此組件已作為此伺服器安全配置的一部分而被關閉。系統管理員可以通過使用sp_configure 啟用 'Ad Hoc Distributed Queries'。有關啟用 'Ad Hoc Distributed Queries' 的詳細信息,請參閱 SQLServer 聯機叢書中的 "外圍應用配置器"。
具體解決辦法是使用如下語句啟用「'AdHoc Distributed Querie」
EXECsp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'AdHoc Distributed Queries', 1 GO RECONFIGURE GO