in

Darkthread

黑暗執行緒
All Tags » ORACLE (RSS)

Browse by Tags

  • Oracle資料庫為AL32UTF8時VARCHAR2即可存Unicode

    學海無涯! 一直以來, 要放Unicode文字就得開NVARCHAR欄位 的觀念深植我心。直到今天聽一位同事說: 如果Oracle資料庫的字元集設成Unicode,開VARCHAR就好了,不必為Unicode特意開NVARCHAR。 這顛覆了我的認知,但也不確定我根深蒂固的觀念是否隨軟體版本演進早已有所誤差。在噗浪上發問後,陸續收到一些回應: Access, MySQL, PostgreSQL都是如此(謝謝Bill, 鳥毅),噗友王圓外更是直接證實這點,於是也我寫了個小程式,找了台NLS_CHARACTERSET=AL32UTF8的Oracle驗證: using (OracleConnection...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-15-2010
  • 【茶包射手日記】使用舊版ODP.NET 登入Oracle 11g時傳回密碼錯誤

    同事遇到的問題,做個筆記: 在某台機器上,同樣的連線字串,用System.Data.OracleClient.OracleConnection可以連上資料庫,用ODP.NET 9207 Oracle.DataAccess.Client.OracleConnection卻一直彈出"帳號/密碼不正確"的登入失敗訊息。 該機器上有安裝Oracle 9.2及Oracle 11g的Client,二者的TNSNAMES.ORA經比對後完全相同,到底問題出在哪裡? 原來,從Oracle 11g起,密碼才改為區分大小寫。而ODP.NET 10.2.0.3以前的版本,在送出密碼時,會一律將密碼字元強迫轉為大寫...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 06-01-2010
  • System.Data.OracleClient將走入歷史

    印象中有看過微軟未來將不再建議使用System.Data.OracleClient,昨天無意翻到正式 宣告文 ,特別PO文整理一下。 主要考量是有很大比例的使用者,實務上用的都是夥伴廠商提供的ADO.NET Provider,一方面是配合Oracle改版的更新腳步較快,能較快用到資料庫的新功能,另一方面這些廠商都提供了不錯的軟體品質及客服支援。ADO.NET Team評估之後,認為即便繼續投注心力強化,也很難將使用者拉回ADO.NET OracleClient。(頗有"閃開! 讓專業的來"的感覺) 因此,ADO.NET Team做了一個重大決定: System.Data.OracleClient雖然還是附在...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 05-13-2010
  • Deploy dotConnect for Oracle in ASP.NET Web Site Project

    最近在測試devart dotConnect for Oracle的 LINQ to Oracle ,發現應用在ASP.NET Web Site Project時,必須要完成一些部署步驟才能順利在另一台伺服器運作。我整理如下: 部署DLL 有幾個選擇 : 1) 在伺服器上執行dotConnect for Oracle安裝程式,選擇Minimal安裝選項。 2) 手動從C:\Program Files\Devart\dotConnect\下將Devart.Data.dll, Devart.Data.Linq.dll, Devart.Data.Linq.Web.dll, Devart.Data.Oracle...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 04-16-2010
  • MEMO-ORACLE grant with grant option

    【Scenario】 Oracle上有三個Schema, AAA, BBB與CCC。 AAA下有個tblMyData,BBB下打算建一個View vw2ndHandData: SELECT * FROM tblMyData WHERE Col1 = 'A',所以要Grant SELECT on AAA.tblMyData to BBB,有了tblMyData的查詢權限BBB才能順利將View建立起來。 此時我們要開放vw2ndHand供CCC查詢,於是用BBB身份下了Grant SELECT on vw2ndHand to CCC,會得到以下錯誤: ORA-01720: grant...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 12-07-2009
  • MEMO-在Oracle裡查看物件被誰鎖定

    試圖變更Procedure內部使用的暫存資料表: alter table TEMPBUFFER modify EXCHANGERATE NUMBER(14,5) 執行時一直傳回 ORA-14450 attempt to access a transactional temp table already in use 。 理論上Procedure不會一直在執行中,應該是有人手動操作時沒有Commit,到底是誰呢? DBA指點我用以下方法,可以查出誰在鎖定它: (要被Grant Permission才可用) select * from v$session where SID = ( select SID...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 12-03-2009
  • MEMO-Procedure Transaction: SQL Server vs Oracle

    同事詢問關於Procedure內是否會自動包成Transaction的問題,我的認知是SQL要額外下SET XACT_ABORT ON,但Oracle則預設會自動包成Transaction。記憶有些模糊,所以索性做個實驗最準。 分別在SQL, Oracle寫了Procedure,先塞入兩筆資料,第三筆故意產生PK重覆錯誤,觀察資料庫是否有前兩筆資料來判別是否有Transaction保護。實驗證明,原先的認知沒錯,二者行為不同。 SQL Server Procedure要將操作包成Transaction的話,記得要加上 BEGIN TRAN / COMMIT TRAN 及 SET XACT_ABORT...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 11-05-2009
  • 小試LINQ to Oracle

    上回針對Oracle使用LINQ做了 一番評估 ,打算為Oracle相關專案導入LINQ預做暖身。無意發現除了Entity Framework外,還有另外的選擇---devart的 LINQ to Oracle ! 基於工作專案常偏向RAD性質,對我來說,LINQ to Oracle的輕巧優於EF的龐大嚴謹功能完整。而LINQ to Oracle雖然也找得到免費解決方案,但畢竟要用在工作上,產品有廠商支援撐場,總是比Open Source多幾分穩當,何苦為了幫公司省錢砸了飯碗。 devart的產品看來符合我的需要,因此決定著手試用逐步體驗。到devart的網站 下載dotConnect for...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 10-17-2009
  • Oracle Distributed Transaction Error

    寫了以下的程式做SQL與Oracle的分散式交易: using (System.Transactions.TransactionScope tx = new System.Transactions.TransactionScope()) { //... Update data on SQL Server ... using (OracleConnection cn = new OracleConnection(cnStr)) { cn.Open(); OracleCommand cmdOra = new OracleCommand( "INSERT INTO MYLOG VALUES...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 10-16-2009
  • OracleCommand.CommandText的換行符號處理

    使用System.Data.OracleClient連線Oracle執行指令,發現以下的程式寫法會引發奇怪的錯誤: using (OracleConnection cn = new OracleConnection(cnStr)) { cn.Open(); OracleCommand cmd = new OracleCommand( @" begin update myJobQueue set SendFlag = 'X' where JobId = 'XXX'; update myJobQueue set SendFlag = 'D'...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 10-13-2009
第1頁,共5頁 (49個項目) 1 2 3 4 5 下一頁 >
Powered by Community Server (Non-Commercial Edition), by Telligent Systems