發表文章

目前顯示的是有「Oracle」標籤的文章

Visual Studio 2015 連線 Oracle DB

圖片
此次測試環境 Visual Studio 2015 Community 2015 Update 3                             Oracle Database 11g 11.2.0.1.0 請下載 Oracle For Visual Studio 的資料庫連線工具 ODAC for Visual Studio 2015 Downloads 注意對應VS的版本。 請準備 TNSNAMES.ORA 準備就緒後,可以動VS2015,檔案-->新增-->網站 選擇一個空網站 加入一個新項目 加入一個Web表單 新增一個GridView 選擇一個新資料來源 選擇資料庫,正確後按下確定 新增連線 輸入使用者名稱及密碼,請確認連線Oracle的帳號密碼正確性(出現這一個畫面,是因為前面你已經安裝好 ODAC for Visual Studio 2015 Downloads ) TNSNAMES.ORA 放到正確位置,前提TNSNAMES.ORA一定要是依照Oracle要求填上正確格式。 若是正確後,可以選擇到Oracle資料庫名稱,我目前範例為DEVELOP,最後沒問題可以按下測試連線,看看是否可以正確連線。 後面就不做範例,請選擇正確Table及欄位。 預覽程式結果後,出現這一個錯誤 找不到必要的 .Net Framework Data Provider。可能尚未安裝。 處理方法是,利用NuGet 把Oracle元件參考進去 瀏覽中的搜尋Oracle關鍵字 選擇安裝後即可 最後,這執行一次就可以利用GridView瀏覽到查詢資料。 網站上有一個影片說的更清楚

Oracle REGEXP_LIKE 條件

圖片
圖片來源 Oracle REGEXP_LIKE 語法基本上與LIKE很類似,不過它可以使用正則運算式更簡單的實現。 另外,Oracle 也提供了其它運算函式 REGEXP_SUBSTR   與SUBSTR的功能相似 REGEXP_REPLACE 與REPLACE的功能相似  REGEXP_INSTR 與INSTR的功能相似 REGEXP_LIKE   與LIKE的功能相似   REGEXP_LIKE 語法: REGEXP_LIKE ( expression, pattern [, match_parameter ] )  1.expression :用於檢索值得欄位名稱(可以是這一些 VARCHAR2, CHAR, NVARCHAR2, NCHAR, CLOB or NCLOB pe.) 2.pattern:正規表示法,最多可指定達512位元組(Bytes) 3.match_parameter:變更檢索條件的選項(可以指定多個) 所有解釋可以看一下這一個網站說明解釋非常清楚 (中文的 陳鍾誠的網站 ) (英文網站 TechonTheNet ) 參考資源一    參考資源二

Oracle ORA-01427 : Single-rpw subquery returns more than on row

圖片
當執行Orale PL/SQL 查詢出現 ORA-01427 錯誤   SELECT id, SUM (man_min)     FROM workers_reported    WHERE id = (SELECT id                           FROM project                          WHERE type = 'MO' AND status = 'CLOSE') GROUP BY id, man_min 因為會產生一筆資料對多筆情況,此時Oracle回應ORA-01427 的錯誤訊息。 處理方式,Subquery 部份可以改採用 ALL/ANY/IN/NOT IN 方式處理,所以程式改為IN(或其它符合條件)即可。   SELECT project_id, SUM (man_min)     FROM ps_workers_reported    WHERE project_id IN (SELECT project_id                           FROM pj_project             ...

Otacle PL SQL Columns To Rows

圖片
Oracle PL SQL Row To Column 這一篇是剛好倒過來,同樣的一個網站可以 參考 他的標準寫法。 這一網站他提供了下列方法: Example # 1: Using the UNION operator Example # 2: Using the UNPIVOT operator EXCEL 的方式也可以作到,但是一般使用者都不會想這樣處理。

Visual Studio 2015 連接Oracle 出現錯誤訊息處理方法

圖片
由於使用Visual Studio Community 2015 連接Oracle 資料庫,載入參考 Oracle.DataAccess.dll 編寫程式出現如圖的錯誤。 利用關鍵字找到的處理方案都是IIS的設定應用程式集區預設值,啟用32位元應用程式改為True,發現還是無法處理。 我仔細在想想,新版的開發工具不是都是用IIS Express嗎? 就再度將關鍵字縮小,找到 此篇的解說 才是正解。 1. 至開發工具中,按下CTRL+Q 輸入關鍵字IIS 2. 勾選畫面中的選項64位元,打包收工。 底下是錯誤訊息原稿,保留以備後續之用。 '/' 應用程式中發生伺服器錯誤。 無法載入檔案或組件 'Oracle.DataAccess' 或其相依性的其中之一。 試圖載入格式錯誤的程式。 描述: 在執行目前 Web 要求的過程中發生未處理的例外狀況。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。 例外狀況詳細資訊: System.BadImageFormatException: 無法載入檔案或組件 'Oracle.DataAccess' 或其相依性的其中之一。 試圖載入格式錯誤的程式。 原始程式錯誤: 在執行目前 Web 要求期間,產生未處理的例外狀況。如需有關例外狀況來源與位置的資訊,可以使用下列的例外狀況堆疊追蹤取得。 組件載入追蹤: 下列資訊在確定為何無法載入組件 'Oracle.DataAccess' 時是有幫助的。 === 繫結前狀態資訊 === 記錄: DisplayName = Oracle.DataAccess (Partial) 警告: 提供了組件的部分繫結資訊: 警告: 組件名稱: Oracle.DataAccess | 網域 ID: 2 警告: 如果只提供部分的組件顯示名稱,就會發生部分繫結。 警告: 這可能會使繫結器載入不正確的組件。 警告: 建議為組件提供完全指定的文字識別, 警告: 該識別是由簡單名稱、版本、文化特性和公開金鑰語彙基元組成。 警告: 如需詳細資訊和這個問題的一般解決方法,請參閱白皮書 http://go.microsoft.com/fwlink/?LinkId=109270。 記錄: ...

Oracle for .NET 相關資料教學影片

圖片
.NET and Windows Application Development  12c Release 1 (12.1)   Database 2 Day + .NET Developer's Guide 11G Release2 (11.2)   What's New for Oracle and .NET (Part 1) - Oracle Virtual Technology Summit 2015   What's New for Oracle and .NET (Part 2) - Oracle Virtual Technology Summit 2015   Using NuGet to Install and Configure Oracle Data Provider for .NET   Debugging Oracle PL/SQL from Visual Studio

SQL 語法書籍介紹分享

圖片
勘誤表   範例程式 學習SQL語法基礎入門書籍,我推薦深入淺出SQL。 請注意本書的語法使用為MySQL,所以你是用Oracle 可能有一些些許不同之處。 內容很基礎從SELECT語法開始介紹,還有正規化的介紹及說明。(若是已經會使用SQL語法,就不推薦除非你想重溫正規化等等基礎觀念的加強) 本書內容著重介紹資料與表/SELECT/DELETE/UPDATE/ALTER/子查詢/外部聯結/自我聯結/聯集/限制條件/視關表View/交易/權限安全 等。唯獨進階如Tiger/Function/Procedure等等裡面是沒有介紹。 另外,我還一本目前已經絕版的書籍,真的內容很不錯。(目前僅有簡體版在出售中)。 這一本書籍屬於進階書籍有實際案例說明。另外,還會比對Oracle PL/SQL與 Microsoft T-SQL之間的作法比較。 內容前幾章著重於基礎函數及語法使用,後面進階的部份就包含很廣範如Column To Row/樹狀結構展開/累計加總/總計資料等等。 最後一部分介紹Procedure/Tiger/Cursor/Package/Connect By 功能使用。 基本上這一本書屬於實戰使用的工具寶典。 2016/05/30 Updated 另外, 學習Oracle 語法以及相關技術文件,其實Orcle原廠都有相關文可以參考,其中還有PDF可以下載及線上直接閱覽,唯一就是都是英文。 但是,相關技術文件都是用簡單英文基礎寫成,應該都是能夠看得懂。 Database SQL Language Reference Database PL/SQL Language Reference 這是一本工具書,有任何語法上的問題,容易著手查詢。(Oracle/SQL Server/DB2/MySQL/ANSI) 第一章:介紹SQL歷史,權限,VIew,Strore Procedure,Tigger,Sequence,別名及使用者定義型的基本入門介紹。 第二章: DLM   資料操縱語言(Data Manipulation Language, DML)SELECT/INSERT/UPDATE/DELETE 指令介紹。 DDL 資料定義語言 (Data ...

Creating Report using Report Builder and Oracle DB 使用Report Builder 3.0 (報表產生器)

圖片
研究如何用Report Builder 3.0 呼叫Oracle Procedure 方法,我找到兩篇的文章還不錯可以紀錄參考一下。 Creating Report using Report Builder and Oracle DB - Part 1 Creating Report using Report Builder and Oracle DB - Part 2 另外,可以利用Oracle 使用 SYS_REFCURSOR 來回傳資料集 參考 方式。

PL SQL 特殊符號的處理方法

圖片
我們在SQL 語法中要是使用到特殊符號時候,例如& /  ' 這一些如何在SQL 語法中呈現? --範例 I'm a teacher SELECT 'I' || '''m a teacher' FROM DUAL; 那如果要顯示一個 & 這一個符號,我們就需要使用ASCII 碼,那如何得知這一碼的代號方式, 利用語法得知如下: SELECT ASCII ('&') FROM DUAL; 可以得到 & 的 ASCII 碼是38 SELECT CHR (38) FROM DUAL; 反向過來ASCII碼 38 是 & SELECT 'Nick' || CHR (38) || 'Sherry' FROM DUAL 得的結果為:Nick&Sherry

Oracle Bulk Processing with BULK COLLECT and FORALL

Bulk Processing with BULK COLLECT and FORALL In this article, I will cover the two most important of these features: BULK COLLECT and FORALL. BULK COLLECT: SELECT statements that retrieve multiple rows with a single fetch, improving the speed of data retrieval FORALL: INSERTs, UPDATEs, and DELETEs that use collections to change multiple rows of data very quickly 還不會先紀錄一下。 Oracle Magazine PL/SQL Columns FORALL Statements for Sparse Collections

Oracle Monitor tablespace free space and get email alerts

圖片
Monitor tablespace free space and get email alerts 這一個我自己設定為 procedure,可以監控 tablespace 到一個程度後,系統會自動發 mail 通知目前狀況。 大家可以參考一下,另外這參考網站有一些 文章 也不錯 Good for me。

Oracle 大量新增帳號方式

圖片
  二、 需要利用 Toad 工具修改 Oracle 資料庫帳號相關設定。 本案例當此帳號密碼過期使用者被鎖定時候,必須使用底下指令修改解鎖及修改密碼   /* 修改帳號解鎖,注意員工編號必須 “ 員工編號 ” */ alter user “ 員工編號 ” account unlock; /* 修改帳號密碼,注意密碼有區分大小寫 */ alter user “ 員工編號 ” identified by “ 新密碼 ”; commit;   三、 若是需要大量修改使用者解鎖 / 上鎖或統一修改密碼,請參照底下語法,提供大量帳號修改方法,產生 Alter user 指令碼: /* 修改大量帳號觧鎖方式 */ select 'alter user ' || '"' || username || '"' || ' account unlock;' from dba_users where account_status <> 'OPEN'   /* 修改大量帳號密碼方式 */ select 'alter user ' || '"' || username || '"' || ' identified by "sysgration"' || password || ';' from dba_users where account_status <> 'OPEN'   四、 將修改大量解鎖使用者帳號語法,貼在 Toad 工具裡面,執行後會產生下列 alter 語法   五、 在 Toad Data Grid 中按右鍵選擇 Export Dataset                                       六、 選擇要匯出的位置及檔名               ...

Oracle資料庫優化實務經驗談(2) ─常見的資料庫安全漏洞與防範

圖片
Oracle資料庫優化實務經驗談(2) ─常見的資料庫安全漏洞與防範 這是PChome 的舊文章 誰可以連接Oracle Database?  還有很多因為智慧產權問題,所以請自己網連結參考。

Oracle資料庫優化實務經驗談─運作速度優化與記憶體配置

圖片
Oracle資料庫優化實務經驗談─運作速度優化與記憶體配置

千呼萬喚始出來! Oracle官方版Entity Framework問市,邁入開發新時代

圖片
千呼萬喚始出來! Oracle官方版Entity Framework問市,邁入開發新時代 傳統上.NET開發者在寫Oracle應用程式時,習慣會用Toad、PL/SQL Developer等工具查看資料表、Procedure等資訊,並在其中執行語法測試確認結果後,在Visual Studio中透過ODP.NET或System.Data.OracleClient建立OracleConnection、執行OracleCommand完成資料庫存取作業。 11.2.0.3版除了支援EF,還內附 Oracle Developer Tools for Visual Studio (ODT),它也將改變傳統開發方式,透過與Visual Studio緊密結合,讓你可以直接在Visual Studio內完成許多資料庫相關工作,例如: 修改Schema、分析程式效能、測試及偵錯PL/SQL指令、管理User/Role/Privilege、將.NET類別轉成User-Defined Type、由Excel/SQL匯入資料表到Oracle... 等等。