access資料庫導入sql
A1. 安裝 SQLServer
A2. 建立 SQLServer 資料庫
在sqlserver資料庫的「企業管理器」中新建一個資料庫,命名為sample,建好後在sqlserver安裝目錄\MSSQL\Data
文件夾下會生成sample_Data.MDF、sample_Log.LDF兩個文件
具體步驟:依次展開sql server 組 ==》右擊資料庫==》新建資料庫==》命名sample==》確定
A3. 導入表結構
a. 建立表結構腳本 –
執行SqlSvrTbl.bat從sample.mdb抽取表結構,sample.mdb一定是當前型號的資料庫,即執行makemdb、getmdb後獲取的,
註:SqlSvrTbl.bat可以在任意目錄執行,執行時會出現如下信息(此報錯信息可以忽略,該命令執行時間比較長):
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 不能讀取記錄;
在 'MSysQueries' 上沒有讀取數據許可權。
at
sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6026)
……
b. 讀入表結構腳本
在sqlserver資料庫的「查詢分析器」界面中讀入上一步生成的SqlSvrTbl.sql腳本,生成資料庫結構
具體步驟:打開上一步生成的SqlSvrTbl.sql腳本===》點擊工具欄的「執行查詢」按鈕(或 按F5 執行)
注意:類似警告信息可忽略,錯誤要查明原因。
警告: 已創建表 'Department',但其最大行大小(17573)超過了每行的最大位元組數(8060)。如果結果行長度超過 8060
位元組,則此表中行的 INSERT 或 UPDATE 將失敗。
A4. 導入數據
使用sqlserver的「導入和導出數據」功能,按步驟將access資料庫中的數據導入到sqlserver資料庫的sample資料庫中
具體步驟:運行「導入導出數據」工具==》下一步 ==》選擇 數據源:Microsoft
Access
==》在「文件名」處,瀏覽打開需要導入的數據源 sample.mdb ==》下一步
==》選擇目的資料庫:在「資料庫」下拉列表中選擇之前建好的sample
==》一直「下一步」 到「選擇源表和視圖」將所有要導入的表和視圖
「勾選」 執行「下一步」 ==》點「下一步」==》點「完成」開始導入
注意:如果在導入完成後報如下錯誤提示,說明導入有錯
錯誤提示:
在目的的行號為1處出錯.到目前為止,在改任務中遇到錯誤數:1.
插入錯誤、列58("Birthday",DBTYPE_DBTIMESTAMP)、狀態6:數據溢出。
對於造型說明無效的字元值。
A5. NHS 伺服器連接資料庫
a. 將nhssystem.mdb 手工拷到本機的%JXCRUN%\Bin文件夾中
b.用客戶端登錄軟體。
如果出現「admin」用戶不存在,在sqlserver中用查詢管理器查詢「select * from sysuser 」
看結果跟access中資料庫中sysuser中數據是否匹配。如果不匹配說明資料庫有誤,需要更換資料庫。
如果出現sa用戶密碼錯誤,沒有連接上,先關掉軟體。在sqlserver企業管理器中,打開「安全性」==》「登錄」==》右擊sa更改密碼即可。
在沒有插網線的情況下,如果出現「不能連接SqlServer 或SqlServer
拒絕連接」的錯誤,將網線插上試試看是否可以。如果還不行,查看SqlServer是否啟動。
⑵ 要將Access資料庫中的數據導入到SQL Server資料庫,需要滿足什麼條件
企業管理器 先在sql里建一資料庫 選擇所有任務 導入數據 選擇數據源中選microsoft access 在把access資料庫導入到mssql資料庫時,應該注意的幾個問題 在使用MSSQL SERVER的時候,和ACCESS有很多區別的,即使是用SQL SERVER導入ACCESS資料庫,也有很多地方需要注意,這里,撿幾個例子來說說。 1、在ACCESS中經常使用的自動編號欄位,導入到MSSQL後,他並不是自增型的INT,需要手工設置,把導入後的自動編號欄位的標識的「否」改為「是」,「種子」和「遞增量」都為「1」,才能成為自動編號; 2、在MSSQL SERVER中,有許多保留字,在ACCESS中是沒有的,當你把數據導入到MSSQL的時候,問題就出來了。MSSQL在導入的時候,會自動給這些欄位(包括資料庫中的表名)加上「[欄位名]」,因此,你必須修改你的腳本,把相應的欄位名字(或者表名字)加上中括弧,或改變欄位名字為不是MSSQL的保留字。
⑶ 如何將Access中的數據導入到SQL Server中
操作步驟如下:
一、打開SqlServer2005,登錄--選擇需要目標資料庫--右鍵資料庫--任務--導入數據。
二、選擇要復制的數據源。數據源選擇Microsoft
access--瀏覽你的數據源文件。這里的access數據源,如果生成表過大,可以生成多個相同表結構的表。在導入數據直接到SqlServer某一張表。這樣大數據就可以集中在同一張表,但是要切記,表結構要一樣。
三、選擇目標指定將數據復制在何處。這裡面伺服器名稱可以伺服器名也可以網路ip。使用SqlServer身份驗證,選擇目標資料庫--復制一個或者多個表視圖的數據。
四、選擇導入到目標表或者導入新建表。執行--完成。
⑷ Access 導入到SQL Server 2005的方法小結
方法一:
名稱:DTS(這個在MSSQL2000里邊也有)
操作:在命令提示符窗口中運行
DTSWizard.exe
SQL
Server
導入和導出向導提供了生成
Microsoft
SQL
Server
2005
Integration
Services
(SSIS)
包最簡單的方法。SQL
Server
導入和導出向導可以訪問各種數據源。可以向下列源復制數據或從其中復制數據:
·Microsoft
SQL
Server
·文本文件
·Microsoft
Office
Access
·Microsoft
Office
Excel
·其他
OLE
DB
訪問介面
此外,可以只使用
ADO.NET
訪問介面和
ODBC
數據源作為源。
啟動
SQL
Server
導入和導出向導
在
Business
Intelligence
Development
Studio
中,右鍵單擊「SSIS
包」文件夾,再單擊「SSIS
導入和導出向導」。
-
或
-
在
Business
Intelligence
Development
Studio
中的「項目」菜單上,單擊「SSIS
導入和導出向導」。
-
或
-
在
SQL
Server
Management
Studio
中,連接到資料庫引擎伺服器類型,展開資料庫,右鍵單擊一個資料庫,指向「任務」,再單擊「導入數據」或「導出數據」。
-
或
-
在命令提示符窗口中運行
DTSWizard.exe(位於
C:\Program
Files\Microsoft
SQL
Server\90\DTS\Binn)。
方法二:
SQL
查詢
操作:執行下列sql語句:
EXEC
sp_configure
'show
advanced
options',
1;
GO
RECONFIGURE;
GO
EXEC
sp_configure
'Ad
Hoc
Distributed
Queries',
1;
GO
RECONFIGURE;
GO
INSERT
INTO
表名(欄位1,欄位2,欄位3)
SELECT
欄位1,欄位2,欄位3
FROM
opendatasource(
'Microsoft.Jet.OLEDB.4.0','Data
Source="d:\source.mdb";Jet
OLEDB:Database
Password=密碼')...表名
詳細的步驟文字版:
安裝好SQL
Server
2005
Express後,再安裝SQL
Server
Management
Studio
ExpressCTP就可以很方便的使用控制台進行資料庫的管理。但SQL
Server
Management
Studio
ExpressCTP並沒有導入Access資料庫的功能,我們應該使用Access的「資料庫實用工具」進行導入。
本文以Access2003為例介紹如何將Access的資料庫導入到SQL
Server
2005
Express中,其中沒有說明的地方均使用默認設置。
1、安裝Access
2003,選中Access下的「資料庫復制」組件。
2、打開Access
2003資料庫,依次單擊「工具」-「資料庫實用工具」-「升遷向導」。
3、在「升遷向導」中選擇「新建資料庫」,單擊「下一步」。選擇安裝了SQL
Server
2005Express的伺服器為導入伺服器,使用默認的資料庫名稱,
單擊「下一步」。將其中可以的表添加到「導出到
SQLServer」中,
單擊「下一步」。升遷默認的表屬性,
單擊「下一步」。創建一個新的ADP文件,
單擊「下一步」。單擊「打開新ADP文件」,單擊「完成」。
4、打開剛剛創建的Adp文件,依次單擊「工具」-「資料庫實用工具」-「傳送資料庫」。在SQL
Server中輸入「Myserver/sqlexpress」,單擊「下一步」。單擊「完成」。導入完成。
5、打開「SQL
Server
Management
Studio
Express」就可以看到剛剛添加的資料庫。
這樣的導入方式可以導入表或者是link表以及他們的relationship。
⑸ ACCESS數據如何導入SQL資料庫
找開企業管理器
先在sql里建一資料庫
選擇所有任務
導入數據
選擇數據源中選microsoft
access
在把access資料庫導入到mssql資料庫時,應該注意的幾個問題
在使用MSSQL
SERVER的時候,和ACCESS有很多區別的,即使是用SQL
SERVER導入ACCESS資料庫,也有很多地方需要注意,這里,撿幾個例子來說說。
1、在ACCESS中經常使用的自動編號欄位,導入到MSSQL後,他並不是自增型的INT,需要手工設置,把導入後的自動編號欄位的標識的「否」改為「是」,「種子」和「遞增量」都為「1」,才能成為自動編號;
2、在MSSQL
SERVER中,有許多保留字,在ACCESS中是沒有的,當你把數據導入到MSSQL的時候,問題就出來了。MSSQL在導入的時候,會自動給這些欄位(包括資料庫中的表名)加上「[欄位名]」,因此,你必須修改你的腳本,把相應的欄位名字(或者表名字)加上中括弧,或改變欄位名字為不是MSSQL的保留字。(具體是那些,請參考有關資料)
⑹ 如何將Access資料庫導入到SQL
熱乎乎的!
找開企業管理器 先在sql里建一資料庫 選擇所有任務 導入數據 選擇數據源中選microsoft access 在把access資料庫導入到mssql資料庫時,應該注意的幾個問題 在使用MSSQL SERVER的時候,和ACCESS有很多區別的,即使是用SQL SERVER導入ACCESS資料庫,也有很多地方需要注意,這里,撿幾個例子來說說。 1、在ACCESS中經常使用的自動編號欄位,導入到MSSQL後,他並不是自增型的INT,需要手工設置,把導入後的自動編號欄位的標識的「否」改為「是」,「種子」和「遞增量」都為「1」,才能成為自動編號; 2、在MSSQL SERVER中,有許多保留字,在ACCESS中是沒有的,當你把數據導入到MSSQL的時候,問題就出來了。MSSQL在導入的時候,會自動給這些欄位(包括資料庫中的表名)加上「[欄位名]」,因此,你必須修改你的腳本,把相應的欄位名字(或者表名字)加上中括弧,或改變欄位名字為不是MSSQL的保留字。(具體是那些,請參考有關資料)
⑺ access資料庫怎麼導到SQL里
將Access數據導入到SQLserver中
在SQLserver中執行如下語句就能將Access
中B04表中的數據導入到SQLserver中的sqltablenaem表中
INSERT
INTO
sqltablename(sfield1,sfield2,sfield3,sfield4,sfield5,sfield6)
SELECT
CONVERT(char(10),afield1),afield2,afield3,afield4,afield5,afield6
FROM
opendatasource(
'Microsoft.Jet.OLEDB.4.0','Data
Source="c:docaccessdb.mdb";Jet
OLEDB:Database
Password=abc)...B04
說明:
1.CONVERT(char(10),afield1)可以對數據的類型進行轉換,控制長度;
2.在「opendatasource(
'Microsoft.Jet.OLEDB.4.0','Data
Source="c:docaccessdb.mdb";Jet
OLEDB:Database
Password=abc)...B04」中Data
Source="c:docaccessdb.mdb為Access資料庫的物理路徑(保證兩個資料庫在一台機器上);
3.Password=abc中「abc」是Access資料庫的密碼,如果資料庫無密碼就不填寫;
4.B04為在Access資料庫中的表名;
5.也可以加一些條件如WHERE
afield='a'
and
...,有選擇條件的導入數據
⑻ 如何將access數據裡面的數據移到sql資料庫裡面
復制的,希望對你有用。 很多朋友想用SQL2000資料庫的編程方法,但是卻又苦於自己是學ACCESS的,對SQL只是一點點的了解而已,這里我給大家提供以下參考---將ACCESS轉化成SQL2000的方法和注意事項 一,首先,我說的是在ACCESS2000,SQL2000之間轉換,其他的我也還沒有嘗試過,希望大家多多試驗,肯定是有辦法的; 二,轉換的方法 1,打開」控制面板「下」管理工具「中的」資料庫源「; 2,按」添加「添加一個新的數據源,在選擇欄里選」Driver do microsoft Access (*.mdb)」,完成後將出現一個框, 在」資料庫源「裡面輸入你想寫的名稱,我取名叫「ABC」,說明不需要填,接著,按下面的選擇,尋找你的資料庫地址和選中(注意,請先備份自己的ACCESS資料庫),然後確定。 數據源在這里建好了,剩下轉換了。 3,打開SQL2000企業管理器,進入資料庫,新建一個空的資料庫「ABC」; 4,選擇新建立的資料庫,按滑鼠右鍵,選擇「所有任務」下「導入數據」,按「下一步」繼續; 5,在資料庫源下拉但中選擇」Driver do microsoft Access(*.mdb)「,在」用戶/系統DSN「中,選種你剛才添加的」ABC「,按 」下一步「; 6,「目的」不需要修改,選擇伺服器(一般下為自己的本機「local「,也可以選擇伺服器地址或者區域網地址,確定你的許可權是否可以操作,),「使用WINDOWS 身份驗證「指用自己的系統管理員身份操作,「使用SQL身份操作驗證「可以用於網站的操作,推薦用後者; 7,選上「使用SQL身份操作驗證「後,填寫你的用戶名和密碼,我自己選擇的是系統默認號碼「sa「,「****「,資料庫選擇剛新建的「ABC「,按「下一步「; 8,這一步的兩個單項選擇,「從數據源復製表和視圖「與「用一條查詢指令指定要傳輸的數據「,選擇前者,按「下一步「繼續; 9,這里將出現你自己ACCESS資料庫的表,按「全選「後,下一步; 10,「DTS導入/導出向導「,看「立即運行「被選中按「下一步「, 11,按「完成「繼續; 12,這個步驟你將看到你的數據被導入SQL2000裡面,當出現「已經成功把XXX個表導入到資料庫「的字樣,而且所有的表前面都有綠色的勾,就表示成功導入所有數據,如果中途出現問題或者表前面有紅色的叉的話,說明該表沒有成功導入,這時就要回去查看自己的操作是否正確了. 三,數據修改 1,由於SQL2000裡面沒有「自動編號「,所以你的以「自動編號「設置的欄位都會變成非空的欄位,這就必須手工修改這些欄位,並把他的「標示「選擇「是「,種子為「1「,增量為「1「, 2,另外,ACCESS2000轉換成SQL2000後,原來屬性為「是/否「的欄位將被轉換成非空的「bit「,這時候你必須修改成自己想要的屬性了; 3,另外,大家要注意對時間函數的把握.ACCESS與SQL是有很多不同的. ACCESS改為SQL需要注意哪幾個地方 資料庫導入以後,自動增加欄位需要重寫,所有的數字類型需要增加長度,最好用decimal。 所有的默認值都丟失了。主要是數字類型和日期類型。 所有now(),time(),date()要改成getdate()。 所有datediff(『d『, time1, time2)要改成datediff(day, time1, time2) 有可能一些true/false類型不能使用,要變為1/0。 備注類型要通過cast(column as varchar)來使用。 CursorType要改成1,也就是打開資料庫時要給出第一個數字參數為1,否則記錄可能顯示不完整。 isnull(rowname)要改成rowname = null ACCESS的資料庫中的自動編號類型在轉化時,sql server並沒有將它設為自動編號型,我們需在SQL創建語句中加上identity,表示自動編號! 轉化時,跟日期有關的欄位,SQL SERVER默認為smalldatetime型,我們最好將它變為datetime型,因為datetime型的范圍比smalldatetime型大。有時用smalldatetime型時,轉化失敗,而用datetime型時,轉化成功。 對此兩種資料庫進行操作的sql語句不全相同,例如:在對ACCESS資料庫進行刪除紀錄時用:「delete * from user where id=10「,而對SQL SERVER資料庫進行刪除是用:「delete user where id=10「. 日期函數不相同,在對ACCESS資料庫處理中,可用date()、time()等函數,但對SQL SERVER資料庫處理中,只能用datediff,dateadd等函數,而不能用date()、time()等函數。 在對ACCESS資料庫處理中,sql語句中直接可以用一些VB的函數,像cstr()函數,而對SQL SERVER資料庫處理中,卻不能用。 ACCESS轉SQL SERVER的資料庫的幾點經驗 1.ACCESS的資料庫中的自動編號類型在轉化時,sql server並沒有將它設為自動編號型,我們需在SQL創建語句中加上identity,表示自動編號! 2.轉化時,跟日期有關的欄位,SQL SERVER默認為smalldatetime型,我們最好將它變為datetime型,因為datetime型的范圍比smalldatetime型大。我遇見這種情況,用smalldatetime型時,轉化失敗,而用datetime型時,轉化成功。 3.對此兩種資料庫進行操作的sql語句不全相同,例如:在對ACCESS資料庫進行刪除紀錄時用:「delete * from user where id=10「,而對SQL SERVER資料庫進行刪除是用:「delete user where id=10「. 4.日期函數不相同,在對ACCESS資料庫處理中,可用date()、time()等函數,但對SQL SERVER資料庫處理中,只能用datediff,dateadd等函數,而不能用date()、time()等函數。 5.在對ACCESS資料庫處理中,sql語句中直接可以用一些VB的函數,像cstr()函數,而對SQL SERVER資料庫處理中,卻不能用。
⑼ 如何向access資料庫導入sql文件
一.使用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