Oracle轉SqlServer

来源:https://www.cnblogs.com/saozhou/archive/2019/12/11/12020223.html
-Advertisement-
Play Games

基礎數據所對應的類型不同 在Oracle中有一些基礎類型與Sqlserver中名字一樣,但是所存儲的數據格式不同,Date類型在Oracle中精確到秒,在Sqlserver中只能精確到分 表的結構 Oracle中所有的表都有一個共同的欄位,rowid這是在物理上存在的,記錄了每一條記錄的行位置,ro ...


 基礎數據所對應的類型不同

   在Oracle中有一些基礎類型與Sqlserver中名字一樣,但是所存儲的數據格式不同,Date類型在Oracle中精確到秒,在Sqlserver中只能精確到分

   表的結構          

    Oracle中所有的表都有一個共同的欄位,rowid這是在物理上存在的,記錄了每一條記錄的行位置,rownum 是邏輯上的,根據排序方式的不同會出現不同的rownum,因為Oracle的這個特性,經常在進行一些crud操作的時候會通過rowid來進行,導致在轉資料庫的時候會遇到各種麻煩,所以我建議各位不管是使用哪一種資料庫最好是使用標準sql,並且不要太依賴某種資料庫的特性。我開始是想通過row_number()加with as 去代替rowid,但是總會出現一些奇怪的問題,你前一次查詢的id,重新進入資料庫操作的時候改變的是另外一條記錄,最後的解決方式我把每一張表都添加上了rowid

    Oracle的to_date,to_char方法

    在轉Oracle資料庫的時候這兩個方法出現了很多次,看他們的名字就知道是乾什麼的,Sqlserver中沒有這樣的方法,但是有conver,cast方法這兩個方法可以實現Oacle兩個方法的所有功能

    Oracle的NVL方法可以用isnull代替

    在Oracle中子查詢語句可以有order by,而在sqlserver需要添加top()函數    

 

Oracle比sqlserver的優勢

    我個人覺得oracle的優勢在他的圖形用戶界面,雖然長相不好,但卻實用,如果有失誤的操作還能夠rollback,導出數據時也很方便,在把oracle數據遷移到sqlserver時只要關註兩個資料庫之間數據類型的差異,不用擔心oracle的數據問題,可以一鍵查詢提出成文件,而sqlserver操作起來反而複雜,我還沒有找到導出sqlserver sql文件的方法。

資料庫轉換需要註意的幾個點:

  1:基礎數據之間的差異,在不同的數據中相同名字的數據類型可能存的值存在某些差異,我也沒有弄清有哪些類型,但是這是一個需要註意的點

  2: 某些資料庫獨有特性在轉換時要面向整體去設計

3:不同資料庫所用sql也有不同,但總能找到替代的方法,一定要用心

 

 

    


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 什麼是FTP? FTP(File Transfer Protocol,文件傳輸協議),是TCP/IP網路和Internet上最早使用的協議之一。用來將實現從一臺電腦傳送文件到另一臺電腦,或者接收和查看另一臺電腦上的文件。一般需要藉助軟體的幫助才能完成。這方面的軟體包括FlashFXP、leapftp ...
  • 文檔的壓縮和打包 .gz 表示由gzip壓縮工具壓縮的文件 .tar 表示由tar打包程式打包的文件 .tar.gz 先由tar打包,再由gzip壓縮 gzip壓縮工具 -d 該參數在解壓縮時使用 -# 表示壓縮等級,1為最差,9為最好,6為預設 xz壓縮工具 tar打包工具 ...
  • 配置雙主複製功能,在主1和主2上執行均下麵的步驟 vim syncprov_mod.ldif dn: cn=module,cn=configobjectClass: olcModuleListcn: moduleolcModulePath: /usr/lib64/openldapolcModuleL ...
  • 解析:在mysql 工具 搜索或者插入數據時報下麵錯誤: ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'database_tl ...
  • 2019-12-11對varchar類型排序問題的解決 在mysql預設order by 只對數字與日期類型可以排序,但對於varchar字元型類型排序好像沒有用了,下麵我來給各位同學介紹varchar類型排序問題如何解決。 現象描述: select * from resultgroup where ...
  • #內連接select * from auth_user u inner join auth_group g on u.id = g.id; #左連接select * from auth_user a left join auth_group b on a.id = b.id; #右連接select ...
  • 問題描述:做scn恢復備庫的測試,吭哧了幾天,今天終於可以記錄一下,遇到了很多坑,作為初學者可以更好地理解DG,主要先關閉備庫,在主庫做歸檔丟失備庫無法同步,備庫產生GAP,然後增量備份恢復備庫,版本:SQL*Plus: Release 11.2.0.4.0 Production on Thu No ...
  • SELECT B.NAME,A.ROW_COUNT FROM SYS.DM_DB_PARTITION_STATS A,SYS.OBJECTS BWHERE A.OBJECT_ID=B.OBJECT_ID AND A.INDEX_ID<=1AND B.TYPE='U'AND A.ROW_COUNT>8 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...