SQL Server導出導入數(shù)據(jù)方法(2)_Mssql數(shù)據(jù)庫教程
推薦:SQL Server的Inner Join及Outer Join當然 Join 如何將不同的數(shù)據(jù)庫的資料結合, 還要看你如何使用它, 一共有四種不同的 Join 的方式, 在這篇文章中我們將為你介紹 Inner Join 及 Outer Join 以及其應用。 在一個正規(guī)化的
所以我們要這樣做:
在源SQL Server數(shù)據(jù)庫上先生成創(chuàng)建表的sql語句
在SQL Server查詢分析器里->選中源數(shù)據(jù)庫里表名->按右鍵->在新窗口中編寫對象腳本->創(chuàng)建->復制下新窗口內創(chuàng)建表名的sql語句到目標SQL Server數(shù)據(jù)庫上查詢分析器里執(zhí)行創(chuàng)建表名的sql語句,生成空表結構。(如果已經(jīng)存在這樣的表名,修改建表的sql語句,在表名后面加上導入時間的年月信息,例如table_0113)
調用導入/導出工具->彈出數(shù)據(jù)轉換服務導入/導出向導窗口->下一步->選數(shù)據(jù)源-> 數(shù)據(jù)源(文本文件)->文件名(已傳到目的SQL Server數(shù)據(jù)庫下要導入的文本文件,后綴可以不是*.txt,但是常規(guī)文本編輯器能打開的文件,文件類型選全部)->下一步->選擇文件格式->用默認的帶分隔符->選第一行包含有列名稱選項->下一步->制定列分割符->逗號->下一步->選擇目的->目的(用于SQL Server的Microfost OLE DB提供程序)->服務器(可選擇目標局域網(wǎng)內能訪問到的所有SQL Server服務器)-> 選擇使用windows身份驗證還是使用SQL Serve身份驗證(輸入數(shù)據(jù)庫的用戶名和密碼)->數(shù)據(jù)庫(可選擇上面選中SQL Server服務器上所有權限范圍內的數(shù)據(jù)庫)->下一步->選擇源表和視圖->修改目的表名為剛才創(chuàng)建的表名->轉換(在目的表中追加行) ->下一步->保存、調度和復制包->時間->立即運行(如果要實現(xiàn)隔一段時間自動把文本文件導入,選調度DTS包以便以后執(zhí)行)->保存(可以不選)-> [保存DTS包(保存的時候要輸入DTS的包名及詳細描述)->下一步->]->完成
正在執(zhí)行包->圖形界面顯示文本文件到表的步驟和狀態(tài)->完成
如果要更改導入時間的年月信息的表名,例如table_0113到原來的表名,在企業(yè)管理器里把原來的表名改成table_old_0113,table_0113改名成table。這會對應用程序里頻繁訪問的表照成一定的中斷。
注意:源表上的建的索引和主鍵約束不能用上面介紹的1和2方法轉移過來,還需要手工來建索引和主鍵。
標志種子和not null的約束可以繼承過來。
導入視圖時會把源視圖里所有的真實數(shù)據(jù)導入成一個新表,而不是視圖。
三、SQL Server存儲過程或用戶定義的函數(shù)導出導入
1、導出存儲過程或用戶定義的函數(shù)成*.sql文件
在SQL Server企業(yè)管理器里選中源數(shù)據(jù)庫,存儲過程->單選或者多選中要轉移的存儲過程->用戶定義的函數(shù)->單選或者多選中要轉移的函數(shù)->按鼠標右鍵,選所有任務->生成SQL腳本->確定->在自己的電腦硬盤中生成一個自定義的*.sql文件->保存->正在生成SQL腳本->成功
2、如果目的數(shù)據(jù)庫經(jīng)過防火墻,不在同一個局域網(wǎng)里,要通過FTP或者remote desktop或者pcanywhere等方法把第1步生成的*.sql文件傳到目的SQL Server數(shù)據(jù)庫服務器上。
3、用查詢分析器進入SQL Server目的數(shù)據(jù)庫,從菜單里選文件->打開->打開查詢文件->選中第1步生成的*.sql文件->點執(zhí)行查詢的綠色倒三角型快捷鍵->查詢窗口里會出現(xiàn)執(zhí)行后的消息(有時候可能因為存儲過程和用戶定義的函數(shù)之間有一定的依賴關系,會報一些錯。
最好先執(zhí)行用戶定義的函數(shù)的*.sql文件,再執(zhí)行存儲過程的*.sql文件)
四、ORACLE數(shù)據(jù)庫里表導入SQL Server數(shù)據(jù)庫
1、在目的SQL Server數(shù)據(jù)庫服務器上安裝ORACLE Client軟件或者ORACLE ODBC Driver. 在\network\admin\tnsnames.ora里配置ORACLE數(shù)據(jù)庫的別名(service name)。
具體配置方法可以參考本站文章:客戶端連服務器的注意事項
2、在WIN2000或者win2003服務器->管理工具->數(shù)據(jù)源(ODBC)->系統(tǒng)DSN(本機器上NT域用戶都可以用)->添加->ORACLE ODBC Driver->完成->data source name 可以自定義,我一般填ORACLE數(shù)據(jù)庫的sid標志,description里可以填ORACLE數(shù)據(jù)庫詳細描述,也可以不填->data source service name 填第1步定義的ORACLE數(shù)據(jù)庫別名->OK。
(用戶DSN和文件DSN也可以類似配置,但使用的時候有一些限制)
3、SQL Server的導入和導出數(shù)據(jù)工具里->選數(shù)據(jù)源-> 數(shù)據(jù)源(其它(ODBC數(shù)據(jù)源))->選第2步在ODBC里定義的系統(tǒng)DSN source name,用戶名密碼處填寫ORACLE系統(tǒng)的用戶名和密碼->下一步->選擇目的,選SQL Server數(shù)據(jù)庫(跟上面第二點講的一致,就不重復了)。
注意:在ORACLE表和SQL Server表之間'轉換'那步很重要,可以改變默認的字段數(shù)據(jù)類型,如image->text,decimal->int
五、SQL Server數(shù)據(jù)庫里表導入ORACLE數(shù)據(jù)庫
方法一.導出目的選通過ODBC數(shù)據(jù)源里定義的ORACLE數(shù)據(jù)庫, 注意ORACLE里表名都是大寫的.我一般在ORACLE這邊先生成好表結構,再選擇SQL SERVER源表往ORACLE目的表里追加數(shù)據(jù).數(shù)據(jù)傳輸速度比方法二慢.
方法二.從SQL Server數(shù)據(jù)庫導入數(shù)據(jù)到ORACLE數(shù)據(jù)庫可以選擇用Windows下ORACLE9i企業(yè)或者個人版數(shù)據(jù)庫做中轉。
分享:深入淺出SQL之左連接、右連接和全連接內連接僅選出兩張表中互相匹配的記錄.因此,這會導致有時我們需要的記錄沒有包含進來。 為更好的理解這個概念,我們介紹兩個表作演示。蘇格蘭議會中的政黨表(party)和議員表(msp)。 party(
- sql 語句練習與答案
- 深入C++ string.find()函數(shù)的用法總結
- SQL Server中刪除重復數(shù)據(jù)的幾個方法
- sql刪除重復數(shù)據(jù)的詳細方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數(shù)的用法實例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- 淺談SQL Server元數(shù)據(jù)的管理與應用
- SQL新手教程:SQL SELECT 語句使用方法
- sql語句:拷貝表,復制表
- sql where 1=1的優(yōu)缺點分析
- 在SQL Server中實現(xiàn)最短路徑搜索的解決方法
- 解析SQL Server 2008性能和可擴展性
- Sql學習第四天——SQL 關于with cube,with rollup和grouping解釋及演示
- 解析SQL Server數(shù)據(jù)應用在不同的數(shù)據(jù)庫中
- 一個獲取SQL Server數(shù)據(jù)字典的經(jīng)典SQL語句
- SqlServer2005 數(shù)據(jù)庫同步配置圖文詳解
- 相關鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-SQL Server導出導入數(shù)據(jù)方法(2)
。