Browse by Tags

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...
Posted 16 September 2009 02:43 PMJeffrey | with no comments
Filed under: ,
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...
OracleConnection Pooling及OracleDataReader.Close()
依過去的 經驗 ,Oracle資料庫重啟或連線中斷後,Connection Pool裡會存留一些無效連線,除了IISRESET或重啟程式外,似乎無法透過程式自行剔除Pool裡的連線。但我今天才發現,原來從.NET 2.0起,SqlConnection與OracleConnection早就新增了兩個Static Method可以用來解決類似問題: ClearPool 、 ClearAllPools 。 寫了以下範例,cnStrMonitor與cnStrTester用了是不同的Username,於是我就可以透過統計v...
MEMO-取回Oracle Procedure Ref Cursor
[MEMO系列是老人家備忘用途的貼文,可能沒什麼營養,大家請姑且看之或逕行忽略。] 好久沒跟ORACLE纏綿惹,這陣子都在跟SQL Server廝混。這幾天接手另一個連線ORACLE的專案,在呼叫ORACLE Procedure透過Ref Cursor傳回結果時,腦中已不太記得精確寫法,只記得Ref Cursor的值可以直接用來Fill DataTable或轉成OracleDataReader,胡亂湊出程式碼,系統卻一直傳回以下錯誤: ORA-06550: line 1, column 7:.PLS...
Posted 23 July 2009 01:27 PMJeffrey | with no comments
Filed under: , ,
【茶包射手專欄】ASP.NET在IIS7上讀不到Oracle中文
測試Silverlight的過程中,發現我的Web Application Project,使用Visual Studio 2008直接執行時測試正常,但移到IIS7下執行,由Oracle讀取的中文卻會變成問號。 我將程式簡化如下: using (OracleConnection cn = new OracleConnection(cnStr)) { cn.Open(); OracleCommand cmd = new OracleCommand( "SELECT '良好'...
【茶包射手專欄】ODP.NET: exceeded maximum idle time error
同事遇到的問題,某台Web接連數天無人使用,再連上時會遇到以下錯誤,IISRest後可恢復正常: Oracle.DataAccess.Client.OracleException: ORA-02396: exceeded maximum idle time, please connect again 這問題應源於Connection Pool中某條Connection已斷線,卻被誤認可用被重覆使用所導致。Google一下,發現不少討論,說可以在ODP.NET的Connection String加上...
更多文章 下一頁 »

搜尋

Go

<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
 
RSS
【工商服務】
最新回應

Tags 分類檢視
關於作者

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

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication