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