當前位置:首頁 » 編程語言 » sql取access
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql取access

發布時間: 2022-09-05 09:16:23

① 如何把數據從sql資料庫中導出到ACCESS資料庫中

選擇要導出SQL庫,右擊,然後選擇所有任務,然後選擇導出數據,進入到導入/導出向導
然後下一步,看看你的身份驗證,如果你安裝SQL的時候用的WIndows身份驗證就選擇WIndows身份驗證,反之就用SQL
Server身份驗證,然後填寫用戶名和密碼,資料庫:選擇你要導出的資料庫,然後點擊下一步,然後在
目的
的下拉列表框中
選擇Microsoft
Access,
選擇要導入到的ACCESS資料庫名,如果你的導入的這個ACCESS資料庫,有用戶名和密碼,就輸入下,接著下一步,接著下一步,選擇你要導出的表,接著下一步,接著下一步,接著完成就可以了

② 高分: mssql2008 遠程讀取 access怎麼實現

一、創建鏈接伺服器,連接本地 Access 資料庫
創建鏈接伺服器可以用「企業管理器」,也可以執行系統存儲過程 sp_addlinkedserver 來完成。用系統存儲過程相對快捷一些,格式為:
sp_addlinkedserver '鏈接伺服器名', '產品名', 'Microsoft.Jet.OLEDB.4.0', 'Access資料庫路徑及文件名'

指定 Microsoft.Jet.OLEDB.4.0 作為 provider_name,指定 Access 資料庫文件的完整路徑名作為 data_source。.mdb 資料庫文件必須駐留在本地伺服器上,路徑必須是伺服器上的有效路徑。

例如,本例創建一個名為 mytest 的鏈接伺服器,對 E:\我的文檔\ 文件夾下名為 DOS.mdb 的 Access 資料庫進行操作,則在「SQL查詢分析器」中執行:

sp_addlinkedserver 'mytest', 'Access 2000', 'Microsoft.Jet.OLEDB.4.0', 'E:\我的文檔\DOS.mdb'

二、創建鏈接伺服器登錄映射
同樣可以用「企業管理器」或存儲過程來完成。存儲過程的格式為:

sp_addlinkedsrvlogin '鏈接伺服器', false, 'SQLServer登錄名', 'admin', NULL

訪問非保密的 Access 資料庫,試圖訪問 Access 資料庫的 SQL Server 登錄應該有一個為用戶 Admin 定義的沒有密碼的登錄映射,下例使得本地用戶 sa 可以訪問名為 mytest 的鏈接伺服器:

sp_addlinkedsrvlogin 'mytest', false, 'sa', 'admin', NULL

要訪問保密的 Access 資料庫,需使用注冊表編輯器配置注冊表,以便使用 Access 的正確的工作組信息文件。使用注冊表編輯器向該注冊表項中添加 Access 使用的工作組信息文件的完整路徑名稱:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SystemDB

配置了注冊表項後,請使用 sp_addlinkedsrvlogin 創建從本地登錄到 Access 登錄的登錄映射:

sp_addlinkedsrvlogin 'mytest', false, 'sa', '[AccessUser]', '[AccessPwd]'

鏈接伺服器和鏈接伺服器登錄映射建立完畢,可以在企業管理器里進行查看。

三、鏈接伺服器的測試
可以在「SQL查詢分析器」里對創建的鏈接伺服器進行測試。由於 Access 資料庫沒有目錄和架構名稱,因此,基於 Access 的鏈接伺服器中的表可以在分布式查詢中使用 [linked_server]...[table_name] 的四部分名稱進行引用。下例從名為 mytest 的鏈接伺服器中檢索 articles 表的所有行:

Select * from mytest...articles

或:Select * from OpenQuery(mytest, 'Select * from .articles')

四、用代碼訪問鏈接伺服器的 Access 資料庫
只有實現用代碼訪問鏈接伺服器的 Access 資料庫,才使得鏈接伺服器發揮了最大的靈活性和實用性。可以使用三中的測試鏈接伺服器的代碼建立存儲過程,供 Asp 代碼調用,也可以直接在 Asp 代碼中調用鏈接伺服器

文章轉載自網管之家:http://www.bitscn.com/plus/view.php?aid=1005

③ sql server 怎麼讀取access資料庫數據

使用語句查詢需要有
sql基礎
,但有一定水準以後才能熟練應用,這里只說一下使用access中
sql視圖
的方法:
1、打開access的文件
2、點擊上方菜單欄的創建-查詢設計
3、彈出的小窗口點關閉
4、在上半部空白處點右鍵

④ 從SQL到access

-- ACCESS轉成SQL(理論上可行,但是筆者修改的程序只能成功幾個)
:網上大部分的免費asp程序使用的是access資料庫。但是access資料庫作為一個中小型的單機資料庫系統,在承擔訪問量、數據量大的網站應用時,往往就不堪重負了。一般認為,超過50M的access資料庫性能就開始明顯下降,超過100M以後,出錯、運行慢的問題會更加突出。盡管可以如動網7.0以後那樣,從程序的角度盡量優化以圖提高性能,但是不能從根本上解決問題。
:這時也許使用微軟的SQL Server資料庫就是最可能的辦法,當然也可以使用其它的如Oracle、MySQL等等,但是作為改寫來說,由於同為微軟的產品,改寫成SQL Server應該是最省力的辦法。
:
:一、改寫前提:
:
:系統已經安裝好SQL Server2000並且打上了SP3補丁;安裝好Office套件裡面的Access;使用一個支持純文本編輯並且帶有行號顯示的編輯器,推薦Ultra Edit,當然也可以使用FrontPage2003,不過以前的版本行號顯示不太好用。
:
:個人能力要求:會基本的asp語法、access資料庫的操作、SQLServer企業管理器的基本操作。
:
:二、資料庫的准備
:
:一般來說有兩種情況:
:1、程序提供了SQL資料庫格式:有一個MDF文件,或者提供了創建SQL資料庫的SQL腳本文件(後綴名為.sql)。
:如果有mdf文件,可以用企業管理器直接附加上,如果提供的是sql腳本文件,那麼就先用企業管理器自己創建一個sql資料庫,然後資料庫用企業管理器中的查詢分析器運行這個腳本創建資料庫表。
:這樣建立的資料庫基本不用再去改寫什麼了。
:2、更多的是沒有提供SQL資料庫或腳本文件的,這時,就要自己來做這一切了,這也是我們這個帖子主要解決的問題。一般這樣的程序會提供一個access資料庫,這樣你就用企業管理器導入access資料庫,導入後需要改寫下面一些東西:
:對照原來的access,改寫下面的部分:
:(1)sql資料庫表是沒有自動欄位的,因此原來access中的自動欄位被轉換成了普通欄位,需要手工改成標識類型,增量為1。
:(2)所有的時間欄位,如果定義了默認值,那麼原來肯定是now(),需要改成getdate()
:(3)原來欄位的默認值一般都不會自動引入,需要對照原表的欄位手工添加。
:(4)由於資料庫的不同,access和sql的欄位類型很多轉換後就變化了,比如原來的《是否》欄位會被轉換成bit或者int,備注欄位被轉換成longtext,text欄位轉換成varchar等等,一般來說不會影響程序運行,如果有問題,我們在下面的程序改寫部分再說。
:(5)如果你要用一個For SQL的程序,裡面用到了存儲過程,那麼你應該有這個程序本身建立SQL資料庫的方法:有其本身的SQL資料庫文件,或者sql腳本;如果沒有的話,採用導入access資料庫的方式是無法建立存儲過程的,這樣你最好放棄這個For SQL的程序版本,使用同樣版本的For Access的程序,導入access資料庫,然後用下面的改寫方法自己改成SQL版本的程序。
:
:三、連接字元串的改寫
:
:可參考動網的這段,分別是針對access和SQL的
:Dim ConnStr
:If IsSqlDataBase = 1 Then
: \'sql資料庫連接參數:資料庫名、用戶密碼、用戶名、連接名(本地用local,外地用IP)
: Dim SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName
: SqlDatabaseName = "dvbbs7"
: SqlPassword = ""
: SqlUsername = "dvbbs"
: SqlLocalName = "(local)"
: ConnStr = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlLocalName & ";"
:Else
: \'免費用戶第一次使用請修改本處資料庫地址並相應修改data目錄中資料庫名稱,如將dvbbs6.mdb修改為dvbbs6.asp
: Db = "data/fengerqingqing.mdb"
: ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(db)
:End If
:On Error Resume Next
:Set conn = Server.CreateObject("ADODB.Connection")
:conn.open ConnStr
:
:當然你使用SQL的話,有關access的使用語句可以刪除,就是else後面到on error resume next前面,變成這樣:
:
:Dim ConnStr
: \'sql資料庫連接參數:資料庫名、用戶密碼、用戶名、連接名(本地用local,外地用IP)
: Dim SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName
: SqlDatabaseName = "databasename"
: SqlPassword = ""
: SqlUsername = "sa"
: SqlLocalName = "(local)"
: ConnStr = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlLocalName & ";"
:On Error Resume Next
:Set conn = Server.CreateObject("ADODB.Connection")
:conn.open ConnStr
:
:也可以簡潔一些,寫成這樣:
:Set conn = Server.CreateObject("ADODB.Connection")
:conn.open "Provider = Sqloledb; User ID = sa; Password = 1234567; Initial Catalog =databasename; Data Source = (local);"
:裡面的資料庫名稱、數據源、用戶、密碼根據自己的實際情況改寫一下。
:
:四、程序的改寫
:
:這也有兩種情況
:1、如果你幸運,拿到的是For SQL的程序,那麼如果上面的資料庫建立過程沒有遇到麻煩,程序基本上就可以運行了,出錯的話,只是程序本身的bug,如何修改不是這個帖子討論的內容,就不贅述了。
:2、大多數情況,程序本身是For Access的,與For SQL的程序差別主要是程序中使用到的SQL查詢語句。注意,SQL查詢語句是資料庫應用不可缺少的部分,不管是For SQL還是For Aceess的程序使用的語法大體差不多,但是有一些微妙的差別,正是這些差別,造成了程序的不通用,也是我們需要修改的主要內容。這樣一般要修改的部分如下:
:(1)時間函數的問題:SQL資料庫的時間函數與access不同,最常見的是取現在時間的函數,access是now(),SQL是getdate()。因此凡是在where子句中使用了now()的地方都要改成getdate();注意,now()函數在asp程序本身也要使用,凡是不在資料庫查詢或執行語句中使用的now()函數千萬不要改。
:(2)時間比較函數:datediff(\'d\',\'時間1\',『時間2』)這是access查詢用的格式,SQl中這些引號都要去掉,同時時間格式的前後可能加上了#,這也要去掉。同樣這也是指在sql語句中的,在asp語句中的要保持原樣。
:(3)空值的表示:在access中,判斷空值一般用是否=""來表示,但是這在SQL中往往出錯,如果遇到出錯的問題或者程序運行不正常,可以改成如這樣判斷:where (name is null)
:(4)真假值判斷:access中可以用=true、=false來判斷,但是在SQL中就會出錯,因此在SQL查詢或執行語句中這類判斷要分別改成=1、=0。注意一點:有些程序雖然寫成=「true」,但是由於有引號,所以這個欄位是字元類型的,你不能改成=1,保持原樣即可。
:
:以上是比較常見的改寫的地方,還有一些不太常見,如果遇到了可以在此回帖討論。
:
:五、程序的調試
:
:前面推薦使用帶有行號的編輯器,是因為上述的改寫不大可能是直接搜索程序源碼來做,很難找全。
:我採取的方式一般這樣:資料庫改寫完成,直接調試程序,出錯後,看看出錯的提示,找到相應文件的代碼行,但是根源往往不是那行,比如出錯的語句是:conn.execute(sql),但是這句本身是沒有錯的,錯誤原因是裡面的這個sql字元串,那就向上看這個sql字元串是如何生成的,按照上面所說的程序修改辦法修改。
:
:
:以上是一些粗淺的見解,多有疏漏,大家可以實踐一下。
:可以拿oblog博客程序來改寫,裡面的改動量不算大,正好可以練練手。
:
:
:把動網資料庫Access 轉成SQL Server2000 資料庫的一個絕對成功的好方法:
:
:步驟如下:
:
:1、必須先安裝Microsoft Office Access 2003,和SQL Server2000。2、把舊的動網資料庫備份,備份完成後,用Access 2003打開動網舊資料庫,在打開時會出現一個警告,不要理會它(安全警告),按打開鍵,打開後按工具欄——資料庫實用工具——轉換資料庫——轉換為2002-2003格式,把資料庫轉換成2003格式。
:
:2、轉換完成後再用Access 2003打開,打開後按工具欄——資料庫實用工具——升遷向導——新建資料庫——填寫SQL資料庫登陸名稱、密碼和要新建的動網資料庫(准備轉成新的動網資料庫),按下一步,按「 》」鍵,再按下一步,選取所有選項,再按下一步,選擇「不對應用程序作任何改動」,再按完成。
:
:3、打開SQL企業管理器——資料庫>看到剛才新建 動網資料庫了吧?點擊這個資料庫 下,然後在工具SQL腳本——常規——全部顯示——編寫全部對象腳本——確定(記住存放的位置)。
:
:4、用記事本打開剛才生成的SQL腳本,在編輯欄——替換——查找內容為「smalldatetime」替換為「datetime」——替換全部;完成後再在編輯欄——替換——查找內容為「nvarchar」替換為「varcha」——替換全部,完成後保存退出。
:
:5、打開SQL企業管理器——資料庫——點擊這個資料庫一下新建的動網資料庫,然後在工具欄——SQL查詢分析器——文件——打開——「剛才生成的SQL腳本」——查詢——執行,然後關閉窗口。
:
:6、再回到SQL企業管理器——資料庫——點擊這個資料庫一下新建的動網資料庫,然後打開工具欄——資料庫轉換服務——導入數據——下一步——數據源「Microsoft Access」文件名「為舊的動網資料庫」——下一步——再下一步——從源數據復製表和視圖——下一步——全選——下一步——立即運行——下一步——完成。
:
:7、修改動網文件夾兩個文件conn.asp和inc\const.asp。

⑤ sql數據怎麼導入 access

將SQL Server 2005資料庫數據導入到Access中
第一步,打開ACCESS,新建一個資料庫,命名為「SQL SERVER數據轉換」;
第二步,在「文件」菜單中打開「獲取外部數據à導入」,在「導入」對話框中選擇類型為「ODBC資料庫()」,即打開「選擇數據源」對話框;
第三步,新建「文件數據源」,選擇安裝數據源的驅動程序為「SQL SERVER」,並保存此連接的文件數據源的名稱為「Sql server.dsn」,即可打開「創建到SQL SERVER的新數據源」對話框,這將幫助建立一個能用於連接SQL SERVER的ODBC數據源。在此對話框中,選擇被連接的SQL SERVER伺服器的名稱及登陸方式,並且在「更改默認的資料庫」下拉列表中選擇要進行數據轉換的SQL SERVER資料庫的名稱,此後,測試ODBC數據源是否連接成功,若是,即可進入「導入對象」對話框;
第四步,在「導入對象」對話框的「表」選項卡中選擇SQL Server數據導入到ACCESS中的SQL SERVER表,點擊「確定」即可將SQL SERVER 2005中數據轉換為ACCESS數據格式。

⑥ 從SQLSERVER到ACCESS資料庫中取資料庫,知道ACCESS資料庫的密碼

有兩種方法去訪問Access資料庫的數據。

但是之前一定要開啟AdHocremoteQueriesEnabled,因為它是

不同伺服器不同資料庫兩張表連接查詢

啟用步驟:右擊自己的資料庫伺服器,在右鍵菜單中選擇「方面」
在彈出的的窗口中有一個名為方面的下拉列表先項點開後選擇「外圍應用配置器」選項,然後在下面的方面屬性窗口中將AdHocremoteQueriesEnabled的狀態改成true點擊確定即可。

也可以通過Transact-SQL查詢語句:

execsp_configure'showadvancedoptions',1
reconfigure
execsp_configure'AdHocDistributedQueries',1
reconfigure
go

第一種方法就是通過Transact-SQL查詢語句:

SELECT *

FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0',

'Data Source="E:Database.accdb"; Persist Security Info=False;JET OLEDB:Database Password=123;User ID=Admin;')...分組表

其中:'Microsoft.ACE.OLEDB.12.0'為鏈接的Access 2007 OLEDB訪問介面,'Data Source="E:Database.accdb"為你鏈接的Access文件及具體位置。Persist Security Info=False;表示是否保存安全信息,其實可以簡單的理解為"ADO在資料庫連接成功後是否保存密碼信息"。

JET OLEDB:Database Password=123這是最重要的部分,因為你的Access是加密的,所以必須以訪問介面方式獲取你的Access密碼,而不能簡單的直接寫Database Password = 123。後面的User ID = Admin表示登陸用戶,一般沒有特意區分不同用戶也可以不寫。

第二種方法就是按照SQL Server向導來訪問。具體截圖如下:

1、選擇要導入數據的資料庫:

下面的設置目標數據源,也就是SQL Server,以及導入那些列數據等相信你都了解,在此就不再贅述了。

⑦ SQL查詢access資料庫日期

SQL查詢access資料庫日期的方法如下:

1,打開access,點擊創建,點擊查詢設計,打開後切換成SQL語句。

2,在框框中輸入以下語句:SELECT * from 學生 where 出生日期=#日期#;

以下以查詢1992/7/11日的學生為例:

⑧ 如何在excel里通過sql語句讀取access里的數據

參考:

⑨ sql資料庫讀取access資料庫的數據 怎麼弄

導入到sql就可以了哈,sql和access都是資料庫哈。

⑩ sqlserver2008r2讀取遠程access資料庫

用ACCESS的升遷向導試試