爲將SqlSugar ORM轉製成OracleSugar ORM 本想一天搞定,憑着經驗不看任何Oracle資料就直接強上了,可是從配置PLSQL和一些語法區別帶來了不少坑讓我進度放緩html
這個貼子對於身邊沒有Oracle朋友或第一次接觸Oracle的朋友應該會有些幫助數據庫
若是是WIN10的用戶在安裝過程當中會拋出警告,不要管它直接強行安裝,安裝目錄裏面不能有中文重要的事情說三遍。 數組
你要知道下址載什麼:oracle
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.htmlide
下載1of2和2of2解壓到同一個目錄點擊安裝 ,安裝過程很是簡單可是要記住你設置的帳號和密碼。測試
有幾個服務默認會啓動,通常都會啓動。spa
PLSQL去CSDN下載有現成的.net
數據庫 填 地址/服務 第一次我看了也不懂填只好去查資料3d
這樣仍是登陸不了的,還要配置奇葩OCI server
目錄地址:設置ORACLE的主目錄
OCI地址: 若是主目下BIN文件的OCI設置了不能用,就要單獨下載一個 OCI.dll,填寫下載的OCI.DLL地址
OK這樣就可以跑起來了
下載:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
Instant Client for Microsoft Windows (x64)
將它解壓覆蓋到 Navcat 安裝目錄下的 Navicat\Oracle\servers\ora
設置剛纔覆蓋的地址
OK能夠跑起來了
若是使用PLSQL可能不會遇到這種問題他會把你的表自動轉成大寫,假如你用Navcat建一個表爲Student ,
你使用 select * from Student是查詢不到這個表的,只能寫成這樣select * from "Student" 因此建表和字段須要改爲大寫 這樣在查詢的時候會很方便。
MYSQL SQLITE SQLSERVER 均可以使用@參數化 ,而ORACLE只能使用 : 做爲參數符號
坑了我最長時間的一個坑,就是參數化的順序問題,這個問題一樣不是不少人都會遇的到,由於我用的是最底層的Ado.net
select * from Student where name=:name and id=:id
個人參數是
new OracleParamer[] { id=1,name="2" }(數組不是這麼聲名只是讓大家看的更清楚些。)
由於順序不一樣致使錯誤 因此必需要寫成
new OracleParamer[] { name="2" ,id=1}
(通過各類排除法才找到了是順序引的BUG,當時血差點吐出來了,難道Oracle和Access同樣不智能)
解決這個問題的方法就是
將 SqlCommand.BindByName = true;
設置後順序問題就解決了,解決問題很容易,難的是找不出問題點在哪兒。
若是你寫成 insert (xxx) values (xxxx);select xxx; 這樣是會報錯的,要加上begin end才能夠執行多條 ,貌似 begin end不能用於查詢只能是 update delete insert
建立一個序列,而後行入 insert (id) values (序列名.Nextval) 查詢當前序列用 SELECT 序列名.currval from dual 至關於select @@identity
另外OracleSugar.ORM 已經轉製成功了 花了些時間,在測試2天就會發布。
能夠先了解下 SqlSugar ORM http://www.cnblogs.com/sunkaixuan/p/5654695.html