Browse by Tags

Oracle資料庫為AL32UTF8時VARCHAR2即可存Unicode
學海無涯! 一直以來, 要放Unicode文字就得開NVARCHAR欄位 的觀念深植我心。直到今天聽一位同事說: 如果Oracle資料庫的字元集設成Unicode,開VARCHAR就好了,不必為Unicode特意開NVARCHAR。 這顛覆了我的認知,但也不確定我根深蒂固的觀念是否隨軟體版本演進早已有所誤差。在噗浪上發問後,陸續收到一些回應: Access, MySQL, PostgreSQL都是如此(謝謝Bill, 鳥毅),噗友王圓外更是直接證實這點,於是也我寫了個小程式,找了台NLS_CHARACTERSET...
【茶包射手日記】使用舊版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起...
System.Data.OracleClient將走入歷史
印象中有看過微軟未來將不再建議使用System.Data.OracleClient,昨天無意翻到正式 宣告文 ,特別PO文整理一下。 主要考量是有很大比例的使用者,實務上用的都是夥伴廠商提供的ADO.NET Provider,一方面是配合Oracle改版的更新腳步較快,能較快用到資料庫的新功能,另一方面這些廠商都提供了不錯的軟體品質及客服支援。ADO.NET Team評估之後,認為即便繼續投注心力強化,也很難將使用者拉回ADO.NET OracleClient。(頗有"閃開! 讓專業的來"的感覺...
Posted 14 May 2010 09:49 AMJeffrey | 2 comment(s)
Filed under: ,
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...
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...
Posted 08 December 2009 01:09 PMJeffrey | with no comments
Filed under:
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才可用...
Posted 03 December 2009 08:49 PMJeffrey | with no comments
Filed under:
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的話...
小試LINQ to Oracle
上回針對Oracle使用LINQ做了 一番評估 ,打算為Oracle相關專案導入LINQ預做暖身。無意發現除了Entity Framework外,還有另外的選擇---devart的 LINQ to Oracle ! 基於工作專案常偏向RAD性質,對我來說,LINQ to Oracle的輕巧優於EF的龐大嚴謹功能完整。而LINQ to Oracle雖然也找得到免費解決方案,但畢竟要用在工作上,產品有廠商支援撐場,總是比Open Source多幾分穩當,何苦為了幫公司省錢砸了飯碗。 devart的產品看來符合我的需要...
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 =...
Posted 17 October 2009 04:36 AMJeffrey | with no comments
Filed under: , ,
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';...
Posted 13 October 2009 08:37 PMJeffrey | with no comments
Filed under:
Oracle LINQ之路
自從學會LINQ to SQL後,我就愛死那種忘記SqlConnection、丟掉SqlCommand、抛下SqlParameter的簡潔,乾乾淨淨 幾行Code 就搞定查詢、新增、修改、刪除的感覺。 無奈在公司,就算先撇開專案團隊成員是否已具備LINQ技能的問題,面對Oracle林立的工作專案環境,抬出LINQ to SQL無疑是張飛打岳飛,只能乖乖回去用OracleCommand、OracleParameter行禮如儀。 不過,我還是沒有放棄在Oracle專案使用LINQ的念頭。 ADO.NET...
【茶包射手專欄】Oracle連線問題處理筆記
今天在一團混亂中解掉一枚Oracle連線茶包,由於相關環境與處理過程蠻雜亂的,這裡只整理結論備忘: NETWORK\ADMIN\SQLNET.ORA裡預設有個設定 SQLNET.AUTHENTICATION_SERVICES = (NTS)。這個設定可以允許Windows的Oracle Client用OS的身份連上Oracle,不用提供帳號密碼。(跟SQL的Integrated Security = SSPI概念類似)。 今天在一個Oracle 9.2 Client與Oracle 10.2 Server都是在Windows平台的環境下...
Posted 08 October 2009 08:38 PMJeffrey | with no comments
Filed under: ,
MEMO-PL/SQL SELECT XML Nodes FROM XmlType
今天跟同事商討整合規格時,遇到一個議題: 如果將多筆資料轉成XML Element,以XML String方式寫入ORACLE欄位,在Stored Procedure裡可否比照Table,用SELECT的方式將多筆資料查詢出來呢? 剛好前幾天另一位同事提到Oracle 9+支援XmlType,現學現賣,再參考網路上的資料,我寫了以下的範例: DECLARE xt XmlType; TYPE refCur IS REF CURSOR ; rc refCur; t VARCHAR2(1024); i...
Oracle Instant Client安裝
前幾天分享了 Windows 7安裝Oracle Client 的經驗,有網友提到了Oracle Instant Client,不過畢竟已是年老體衰之人,當然就沒有勤快到馬上去實地測試一下。 無奈,出來混,總是要還的。(誤) 今早Toad Freeware在啟動時出了狀況,只要一用Oracle 10.2 x86 Client連線就會Crash。氣憤之餘, 在命運的作弄下 剛好看見Toad的Installed Clients清單中有個"偽。Instant Client - 10.2.0.1...
Windows 7安裝Oracle Client經驗分享
今天為了Demo需要,在ThinkPad T43 Windows 7 x86英文版上試裝Oracle Client。 這算是我第一次嚐試在Windows 7上安裝Oracle Client,期間遇到不少狀況,特別整理記錄一下,給有需要的人參考。 依之前 Windows 2008 x64的經驗 ,不再奢望9.2Client可以跑,直接從10.2g版試起。 下載了 10201_client_win32.zip ,安裝過程出現"The procedure entry point GetProcessImageFileNameW...
更多文章 下一頁 »

搜尋

Go

<September 2010>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
 
RSS
【工商服務】
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication