程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> IBM Data Studio Developer 2.1 的新特性

IBM Data Studio Developer 2.1 的新特性

編輯:DB2教程

簡介

Data Studio Developer 這個新的發行版的主要優點有:

它提供更多的信息來幫助您進行 SQL 調優。

它提高了 OpenJPA 和 .Net 應用程序的服務質量。

通過它可以更好地理解使用 SQL 的 Java 應用程序。

通過它可以提高生成率和促進開發人員與 DBA 之間的協作。

可以減少或消除 Java 數據庫應用程序的 SQL 注入風險。

運行實際場景的先決條件

為了實踐後面的場景,需要安裝以下東西:

Data Studio Developer 2.1(很快就有試用代碼)

DB2® for Linux®, UNIX®, and Windows® —— DB2 Express-C 就可以了

DB2 附帶的 sample 數據庫

讓開發人員獲得更多信息來進行 SQL 調優

識別 SQL 語句和它們執行的次數

通過現有的分析工具,可以識別應用程序中的哪些 Java™ 方法花費最長的運行時間。而通過 Data Studio Developer 2.1,則可以查看包含對數據庫的調用的 Java 方法的性能度量,獲取更深入的信息。無論使用 pureQuery、JDBC 還是其他框架,都可以識別應用程序中每條 SQL 花費的時間、它運行的次數以及它運行的最長、最短和平均時間。

在 Data Studio 中嘗試下面這些簡單的步驟:

理解 pureQuery 中的 SQL 性能度量
pureQuery outline 中顯示應用程序運行的每條 SQL 語句的以下信息:

SQL 運行的次數 - Number of times run

SQL 語句每次運行的時間加起來的總時間 - Total time

SQL 運行花費的最長時間 - Max time

SQL 運行花費的平均時間 - Average time

SQL 運行花費的最短時間 - Min time

可以使用該信息來識別哪些 SQL 語句將通過優化受益,並識別出有問題的 SQL。還可以使用該信息識別 SQL 語句執行的次數。

在視圖中,進入到 Data Management > Data Source Explorer(之前是 Database Explorer)。建立到 sample 數據庫的一個連接,並將該連接命名為 SAMPLE。

創建一個 Java 項目,將其命名為 myDSDPrj。

下載文件 TutMod.java 和 Util.Java,將它們復制到 db2jcc.example 包中。該文件表示一個簡單的現有的 JDBC 應用程序,您將使用它來運行不同的場景。

為了將 pureQuery 支持添加到項目中:

右鍵點擊該項目,選擇 pureQuery -> Add pureQuery support。

選擇 SAMPLE,並添加適當的模式,以限定 STAFF 表。

在下面的圖中,模式為 SSURANGE。

選中 Enable SQL capturing and binding for JDBC applications 復選框。




圖 1. 添加 pureQuery 支持
IBM Data Studio Developer 2.1 的新特性


注意,現在可以指定一個默認的模式,以限定表和視圖。使用新的 Default path widget 限定您未限定的例程。

為了收集性能度量,使用 pureQuery 配置運行應用程序:

在運行應用程序之前,設置模式以限定 STAFF 表。為此,打開 TutMod.Java,找到第 66 行,將值 SSURANGE 改為您的模式,並保存該文件。
stmt.execute("set current schema SSURANGE");

為了使用 pureQuery 配置運行應用程序,打開 TutMod.Java,然後右鍵點擊該文件,選擇 Run -> Run Configurations。

選擇 pureQuery,並為數據庫名稱、服務器、端口、userID 和密碼等參數(圖 2)提供值,然後單擊 Run。

這樣將收集執行的 SQL 以及性能信息。




圖 2. 運行應用程序以收集 SQL 度量
IBM Data Studio Developer 2.1 的新特性


要查看性能信息:

右鍵點擊 myDSDPrj 並選擇 Show pureQuery outline。

在 pureQuery outline 中,單擊 Toggle Profile 按鈕。

展開 myDSDPrj 項目,可以看到每條 SQL 語句的性能信息。
例如,下面的圖顯示 SELECT 語句被運行了 2 次,花費的總時間為 598 毫秒。


圖 3. SQL 執行度量
IBM Data Studio Developer 2.1 的新特性



SELECT 語句運行得比較多,應用程序可以通過優化這條 SQL 獲益。

在不必更改代碼的情況下調優和優化應用程序

如果使用的是 DB2 for z/OS
DB2 Optimization Expert for z/OS 可以為如何提高一條 SQL 語句的性能提供專業的建議。如果使用即將發布的 DB2 Optimization Expert 新的發行版,實際上可以與 Data Studio Developer 共享 shell,所以您將可以將 SQL 語句從 pureQuery XML 編輯器復制到 Optimization Expert,然後將經過優化的、等效的語句復制回這個編輯器。

發現有問題的 SQL 後,就需要優化它。對於生產應用程序或打包的應用程序,也許不能更改應用程序的源代碼,但是您可能希望能夠更改產生的 SQL。例如,您可能想更改 SQL,以利用新添加的索引,或者限制返回的行數,又或者添加非常需要的 ORDER BY 子句。

Data Studio Developer 2.1 提供了一個受控編輯器,通過它可以用等效的、很可能更好的語句替代應用程序生成的現有 SQL 語句。這個編輯器自動驗證語句的等效性,並且拒絕不等效的語句。

在 Data Studio Developer 中嘗試以下簡單的步驟:

使用 pureQueryXML 編輯器編輯 pureQuery XML 文件
當替換一條現有的 SQL 語句時,用於替換的語句與現有的語句在參數的數量和類型上必須一致,並且結果集形狀是相同的。如果替換的 SQL 不一致,或者有驗證錯誤(語法或語義),那麼編輯器顯示這些錯誤,而且只有在修復了這些錯誤之後才能保存該文件。如果想回到應用程序最初發出的 SQL,可以使用 Reset to capture statement 菜單。對於不想綁定的 SQL 語句,刪除它。

在 myDSDPrj 中,展開 pureQueryFolder。雙擊 capture.pdqXML。

右鍵點擊 SELECT 語句(SELECT id, name, dept, job, years, salary, comm FROM staff WHERE id = ?),並選擇 Edit。這是您在圖 3 中看到的 SELECT 語句。選擇默認模式,以限定您的表。



圖 4. 編輯現有的 SQL,以減少返回的行數
IBM Data Studio Developer 2.1 的新特性



現在用下面的 SQL 替換該語句,下面的 SQL 語句是等效的,但是返回更少的行:
SELECT id, name, dept, job, years, salary, comm FROM staff WHERE id = ? fetch first 2 rows only

單擊 Save。



圖 5. 替換為經過優化的 SQL
IBM Data Studio Developer 2.1 的新特性



您已經更改了 SQL,使之返回更少的行,現在再次運行它,看看性能度量中有什麼不同。

為了再次運行應用程序:

打開 pdq.propertIEs,將 captureMode 設為 OFF,並添加 pdq.enableDynamicSQLReplacement=TRUE

pdq.captureMode=OFF pdq.executionMode=DYNAMIC pdq.enableDynamicSQLReplacement=TRUE 。

使用 pureQuery 配置運行應用程序。

要再次查看性能度量,右鍵點擊 myDSDPrj 並選擇 Show pureQuery outline。

下面的圖顯示 SELECT 語句運行了 2 次(和之前一樣),但是總時間為 519 毫秒。注意,SQL 語句運行的時間比之前更短。


圖 6. 替換為經過優化的 SQL 之後性能更好
IBM Data Studio Developer 2.1 的新特性


提高 OpenJPA 和 .Net 應用程序的服務質量

JPA 使問題診斷和服務質量變得容易

現在,您可以獲得關於訪問 DB2 數據的現有或新的 JPA 應用程序發出的任何 SQL 和 JPAQL 的信息。您還可以無縫地使用靜態 SQL,而不必更改任何應用程序代碼。如果您的應用程序使用 DB2,那麼可以使用 WebSphere® Application Version 7 中的靜態生成器(wsdb2gen)來收集 SQL。您不必運行應用程序就可以獲得大多數好處。對於其他情況,可以與客戶機優化相結合。Data Studio Developer 2.1 包括工具支持,以使靜態生成過程更加容易。注意,必須使用 WebSphere 7 fixpack 3。

在 Data Studio Developer 中嘗試以下簡單的步驟:

將 pureQuery 支持添加到 JPA 項目中。

將 WebSphere 安裝中的 com.ibm.ws.jpa.jar 添加到構建路徑中。

右鍵點擊 persistence.xml 並選擇 pureQuery > Generate pureQueryXML file。

右鍵點擊 project 並選擇 pureQuery->Show pureQuery outline。

查看所有可能從實體和映射文件中的實體、namedQueries 和 namedNativeQuerIEs 生成的 CRUD。

雙擊任意 SQL 進入觸發該 SQL 查詢的 JPA 源代碼。

作為可選步驟,可以使用客戶機優化來捕捉只在運行時可用的 SQL(例如,動態 JPAQL 語句)。將 pdq.PropertIEs 中的 captureMode 設為 ON 之後運行應用程序,並收集應用程序中任何剩下的 JPAQL 和 SQL。


無論應用程序是否使用 DB2,優化現有的非 DB2 JPA 應用程序,這不需要更改任何代碼。要想用經過優化的 SQL 替換現有的 SQL,請參閱 在不必更改代碼的情況下調優和優化應用程序 小節。不要走開,下面是關於支持 JPA 的 Data Studio Developer 2.1 的更深入、操作性更強的教程。

使用靜態 SQL 提高 .Net 應用程序的服務質量

Data Studio pureQuery Runtime 2.1 為提高 .Net 應用程序的穩定性、安全性和易管理性提供了支持,包括那些用任何基於 .Net 的語言(例如 C# 和 VB.Net)編寫的應用程序。用這種 SQL 摘要升級現有的 .Net 應用程序。

在 .Net 連接字符串中將捕捉模式設為 ON
captureMode = on;pureQueryXML=path/filename:collection=collName;rootpackage=pkgName

執行所有測試

使用 DB2cap 實用程序從捕捉的 SQL 綁定和創建靜態包

授予執行許可

在連接字符串中將捕捉模式設為 OFF,將 executionMode 設為 STATIC
executionMode=STATIC:captureMode=OFF

執行所有測試,以驗證結果是否正確。

您現有的 C# 或 VB.Net 程序現在是以靜態 SQL 運行!

更好地理解使用 SQL 的 Java 應用程序

在不運行應用程序的情況下查看什麼 SQL 將被發出

在 pureQuery outline 中,要對現有的應用程序使用 Data Studio Developer 1.2,必須運行應用程序,以查看應用程序將發出的 SQL 以及它在源代碼中的位置。但是 Data Studio Developer 2.1 中,可以自動看到應用程序中的 SQL,而不必運行應用程序。您可以查看應用程序中所有硬編碼的 SQL。還可以運行應用程序來收集任何其他的 SQL。

在 Data Studio Developer 中嘗試以下簡單的步驟:

右鍵點擊 myDSDPrj 並選擇 Show pureQuery outline。

在 pureQuery outline 中,單擊 Toggle Profile 按鈕。

選擇 Database 選項卡。注意,outline 中顯示了還沒有被執行的 UPDATE 和 DELETE 語句。雙擊 DELETE statement,進入到 Java 文件中的位置。在下面的圖中,可以看到發出 SQL 語句的 Java 源代碼是一條 executeUpdate 語句。


圖 7. 自動查看 SQL - Database 選項卡
IBM Data Studio Developer 2.1 的新特性


單擊 Java 選項卡。展開 myDSDPrj 和以包命名的 db2jcc.example。注意,outline 中顯示了還沒有被執行的 UPDATE 和 DELETE 語句。這一次,雙擊 update 語句,進入到 Java 文件中的位置(在這裡,就是定位到 JDBC 預置語句)。注意,在 JDBC executeUpdate 也顯示了該預置語句的執行位置。


圖 8. 自動查看 SQL - Java 選項卡
IBM Data Studio Developer 2.1 的新特性


如果實際運行應用程序,可以提高 SQL 位置的准確性。此外,這樣可以得到動態構造的 SQL。
在 Data Studio Developer 中嘗試以下簡單的步驟:

打開 TutMod.Java,激活 mail 方法中的 basicUpdate 調用。

要運行應用程序:

打開 pdq.propertIEs,將 captureMode 設為 ON,並添加 pdq.enableDynamicSQLReplacement=false
pdq.captureMode=ON pdq.executionMode=DYNAMIC pdq.enableDynamicSQLReplacement=false

運行應用程序。

右鍵點擊 myDSDPrj 並選擇 Show pureQuery outline。

單擊 Java 選項卡。 展開 myDSDPrj 和以包命名的 db2jcc.example。注意,前面提到的 executeUpdate 現在被替換為實際的 SQL update 語句。


圖 9. 運行應用程序以提高准確性 - Java 選項卡
IBM Data Studio Developer 2.1 的新特性


確定應用程序將發出什麼 SQL 以及從哪裡發出

之前,pureQuery outline 只限於單個的項目,所以只能逐個項目地查看關於應用程序中發出的 SQL 的信息。對於跨多個項目的應用程序,則不能方便地獲得完整的信息。

關閉工作區中不屬於您的應用程序的所有項目。Data Studio Developer 2.1 會提供您需要的關於應用程序將對數據庫發出的 SQL 的所有信息。

在繼續之前,讓我們再添加更多的項目到應用程序中。Data Studio Developer 現在允許為很多表批量生成 pureQuery 代碼。

批量自下而上代碼生成

在 Data Studio Developer 1.2 中,只能為單個的表生成代碼。在 Version 2.1 中,則可以更快地為多個表自下而上生成代碼。

創建一個 Java 項目,並將它命名為 pdqBulkBottomUp。

選擇 DEPARTMENT 和 EMPLOYEE 表,單擊右鍵,並選擇 Generate pureQuery code。

提供包名,並選擇 Generate annotated style 代碼。單擊 Next。


圖 10. 從兩個表生成 pureQuery 代碼
IBM Data Studio Developer 2.1 的新特性


對於 DEPARTMENT 表,選擇 SQL Statements 選項卡。選擇 Select all rows、Create row by parameters 和 Create row by object。單擊 Finish。


圖 11. pureQuery 代碼生成 - 選擇 SQL 語句
IBM Data Studio Developer 2.1 的新特性


現在可以馬上為大量的表生成數據訪問!注意,SQL CRUD 語句是為每個表單獨生成的。也就是說,不考慮表之間的關系。

右鍵點擊項目,並選擇 Show pureQuery outline,以便對於每條 SQL 下鑽到數據庫和上鑽到應用程序。獲取像這樣的問題的答案:哪個 SQL 使用 DEPARTMENT 表,它在 Java 代碼中的什麼地方被使用?


圖 12. 哪個 SQL 使用某個模式或表,它在 Java 代碼中的什麼地方被使用 - Database 選項卡
IBM Data Studio Developer 2.1 的新特性


單擊 Java 選項卡;如您所想,pureQuery outline 中可以看到所有的項目。您可以進行下鑽,以了解 Java 類與訪問數據庫的 SQL 之間的關系。獲取像這樣的問題的答案:我的 Java 類 DepartmentData 發出什麼 SQL,從哪裡發出?


圖 13. Java 類發出什麼 SQL,從哪裡發出 - Java 選項卡
IBM Data Studio Developer 2.1 的新特性


發現您的應用程序使用哪些 SELECT 語句,或者哪些 SQL 應用程序使用絕對值(abs)函數

之前,通過使用 pureQuery outline 中的過濾器,可以獲得關於哪些 SQL 語句使用一個數據庫列或表的信息。無論您使用 pureQuery API 還是有現有的使用 JDBC 或框架的應用程序,Data Studio Developer 2.1 都允許您通過增強的過濾,將注意力集中到感興趣的 SQL 上。使用這個功能來發現哪些 SQL 語句使用某個特定的列,以及其中哪些是 SELECT 語句。而且,了解哪些 SQL 語句使用某個函數。

過濾 pureQuery outline 以關注特定的 SQL
可以使用任何字符串作為 SQL 文本模式來過濾包含特定字符串的 SQL。例如,可以使用(.*ABS.*)來發現哪些 SQL 語句使用 abs 函數。pureQuery outline 會根據需要自動刷新。可通過手動選擇 Filter 圖標旁邊的 Refresh with projects in workspace 圖標為整個應用程序去掉過濾。您可以手動使用 Refresh project in outline 圖標繼續刷新。

嘗試這些簡單步驟:

在 pureQuery outline 中單擊 Filter 按鈕,如下圖所示。

為 SQL text filter pattern 提供過濾器信息 (.*SELECT.*)。然後選擇 OK。

現在,可以在過濾後的 pureQuery outline 視圖中看到應用程序中的所有 SELECT 語句。


圖 14. 發現應用程序發出哪些 SELECT 語句
IBM Data Studio Developer 2.1 的新特性


現在,按列名添加過濾器,輸入過濾值 <SCHEMA>.STAFF.ID。您可以看到使用 STAFF 表中的 ID 列的所有 SELECT 語句。您可以看到這些信息如何影響分析。為 database object name 提供值 <schema>.STAFF.ID。查看使用 STAFF 表中 ID 列的所有 SELECT 語句。


圖 15. 發現哪些 SELECT 語句使用列 ID
IBM Data Studio Developer 2.1 的新特性


發現應用程序中有什麼 SQL,哪些 SQL 被發送到數據庫

查看 pureQuery outline,將應用程序中的 SQL 與實際被發送到數據庫的 SQL 相關聯。我們來看看之前替換的 SQL。
在 Data Studio 中嘗試以下簡單的步驟:

在 pureQuery outline 中的 Database 選項卡中,展開 SELECT 語句。注意,被發送到數據庫的 SQL 是您在之前步驟中替換的那個 SQL。


圖 16. 查看應用程序中的 SQL 以及被發送到數據庫的 SQL
IBM Data Studio Developer 2.1 的新特性


發現 SQL 是在哪裡定義和執行的

Data Studio Developer 1.2 只能根據棧跟蹤顯示 SQL 語句在源代碼中的大約位置。現在,Data Studio Developer 2.1 可以更准確地提供 SQL 在應用程序中的位置。想知道 SQL 是在哪裡定義和執行的嗎?調用同一條 SQL 的所有代碼路徑有哪些?
在 Data Studio Developer 中嘗試以下簡單的步驟:

在 pureQuery outline 中單擊 Java 選項卡,然後展開 SELECT 語句。注意,這裡可以看到定義 SQL 的位置(preparedStatement)和執行它的位置(executeQuery)。

注意,delete 語句指向預置和執行 SQL 的那一行。


圖 17. 查看定義 SQL 的位置和執行它的位置
IBM Data Studio Developer 2.1 的新特性


查看結果集的值是如何在 Java 應用程序中流動的

獲取關於 Java 應用程序如何使用 SQL 的更多信息。檢索到的列在哪裡被使用?它是否被發送回數據庫?它是否被打印出來?如果有源代碼,那麼可以跟蹤結果集中返回的值如何在應用程序中流動。

打開 DepartmentData.Java,右鍵點擊 DEPTNO 並選擇 Source Code Analysis, Analyze column value Dependency。

pureQuery analysis 視圖顯示值如何在應用程序中流動。注意,database 圖標顯示從數據庫中的什麼位置檢索值,以及將值更新到數據庫的什麼位置。


圖 18. 查看 DEPTNO 列的值如何在 Java 應用程序中流動
IBM Data Studio Developer 2.1 的新特性


提高生產率和促進開發人員與 DBA 之間的協作

創建並驗證可部署的 bindProps

之前,必須手動創建用於命令行部署的綁定屬性。沒有辦法指出條目是否為無效的,只能等到部署時報告錯誤。開發人員不能方便地使用 jar、ear 或 war 文件測試部署。

做好部署准備了嗎?Data Studio Developer 2.1 明顯加快了部署的速度。創建可部署的 bindProps,bindProps 可以集中維護,並且可以在組織中共享。Data Studio Developer 2.1 使開發人員可以測試驅動這些步驟,以確保應用程序做好部署的准備。

有效地開發和驗證 bindProps
現在,可以使用任何現有的 .bindProps 文件上的 Add 或 Remove EntrIEs 菜單來驗證列出的條目是否仍然有效,例如 bindProps 中一個列出的條目被從項目中刪除,或者被重新命名,從而使得它失效。刪除那些顯示錯誤圖標的無效條目,這些錯誤圖標與詳細的錯誤信息相關聯。您很容易發現項目中的哪些條目不存在,從而添加它們。

右鍵點擊 Default.bindProps 並選擇 Add remove entrIEs。選擇 com.pdqdemo.EmployeeData 和 com.pdqdemo.DepartmentData。下面的圖顯示關於如何輕松管理條目的一個例子。

圖 19. 輕松管理靜態 SQL 屬性
IBM Data Studio Developer 2.1 的新特性


接下來,為了測試綁定,右鍵點擊 Default.bindProps 並選擇 bind。


您已驗證 bindProps 是就緒的,現在為應用程序生成 jar 文件,以便進行部署。

綁定可部署的 jar

完成應用程序的開發和測試後,為應用程序生成 jar 文件,以便進行部署。然後,在命令行綁定 jar。同樣,Data Studio Developer 2.1 允許開發人員測試驅動這些步驟,以確保應用程序可以被部署。現在,您可以享受智能化 的好處,只在需要時執行綁定。如果只有應用程序中的一部分被更改,那麼在重新部署 jar 時,可以避免不必要的綁定。

將 pdqBulkBottomUp 項目的 src 文件夾中的文件和 pureQuery 文件夾中的 bindprops 打包成 jar 文件。

為了綁定 Jar 文件,右鍵點擊 jar 文件並選擇 pureQuery->Bind。bindProps 中列出的條目將被綁定。

提供的關於綁定錯誤的更多信息

在 Data Studio 1.x 中,當綁定失敗時,只顯示有限的信息。您不能識別哪些包導致綁定失敗。這種知識的缺乏使得綁定問題更難以修復。由於大量包含很多 SQL 語句的包通常是在部署時綁定的,這個問題甚至會變得更加困難。

Data Studio Developer 2.1 現在顯著改進了當出現綁定錯誤時提供的信息。Version 2.1 讓您可以通過 Data Studio Developer 工具和 pureQuery 運行時命令行工具獲得關於綁定中哪個包失敗的更多反饋,從而確定導致失敗的原因。

現在,如果應用程序中只有一部分被更改,在重新部署 jar 時可以避免不必要的綁定。

SQL 與 Java 工具之間更多的集成

如果您是一名 DBA,使用 SQL builder 等工具創建 SQL 語句或者使用 SQL 編輯器,那麼現在可以輕松地生成 pureQuery 代碼。在 SQL builder 中,將 SQL 保存為一個 .sql 文件。然後,只需在這個 .sql 文件上或者在一個打開的 SQL 編輯器中單擊右鍵,並選擇 Generate pureQuery code。通過彈出的向導,您可以有效地為文件中的所有 SQL 語句生成 pureQuery 數據訪問層。

如果您是一名 Java 開發人員,從 DBA 那裡接收了一些 .sql 文件,那麼,對於啟用了 pureQUery 的項目中的文件中的所有 SQL,您可以輕松地為它們生成 pureQuery 代碼。通過使用該功能,還可以從現有的 JDBC 應用程序或使用框架的應用程序輕松地遷移到 pureQuery API。首先,從 pureQuery outline 中將 SQL 導出到項目中的 .sql 文件中,或者在 SQL 編輯器中打開它。然後,只需在這個 .sql 文件上或者在一個打開的 SQL 編輯器中單擊右鍵,然後選擇 Generate pureQuery code。

選擇 Data Studio Developer 中要使用的 pureQuery 運行時的位置

在 Data Studio Developer 1.2 之前,必須經過很多手動步驟才能使用 pureQuery 運行時。通過以下步驟,將 Point Data Studio Developer 2.1 指向 pureQuery 運行時安裝位置。

從頂級的 Window->preferences 選擇 Data Management -> SQL Development -> pureQuery 類別。

提供一個位置,其中 pureQuery 運行時 jar 位於 pureQuery Runtime Location 區域的下面。

跨工具共享數據庫連接信息

在 Data Studio Developer 1.2 之前,必須在 Data Studio 所有基於 Eclipse 的工具中單獨創建數據庫連接。現在,您可以在一個工具中定義數據庫連接,然後與其他工具共享連接。導入共享的連接,然後享受重用的好處!

輕松遷移 Data Studio Developer 1.x 或 Data Studio Developer 2.1 中的 pureQuery 項目

當在 Data Studio Developer 2.1 中打開舊的 Data Studio 工作區時,工作區中現有的連接將被自動遷移。只需選擇 Window->Reset perspective,重置 Data Studio Developer 2.1 透視圖。要遷移現有項目中的 pureQuery 運行時,可以使用項目上的 Upgrade project 菜單。請參閱技術文檔 <note pointer >,獲得關於這個過程的更詳細的信息。

減少或消除 Java 數據庫應用程序的 SQL 注入風險

前瞻性地減少 SQL 注入

通過捕捉的 pdqXML 將對數據庫發出的 SQL 限制為已知被許可的 SQL。

使用 pdq.propertIEs 中的以下屬性執行您的應用程序。所有被運行的 SQL 將被捕捉到 pureQueryFolder 中的 capture.pdqxml 中。 captureMode=ON executeMode=DYNAMIC pureQueryXML=pureQueryFolder/capture.pdqXML capturedOnly=false

當您已經通過以不同方式執行應用程序收集到所有的 SQL 時,就可以限制 SQL。
打開 pdq.propertIEs,設置以下屬性: captureMode=OFF capturedOnly=true

現在,只有被捕捉的 SQL 可以被執行,無論是動態地執行還是靜態地執行。

結束語

顯著提高開發人員的效率,構建可立即投入企業使用的應用程序。使開發人員可以構建更好的應用程序,並且與 DBA 協作,減少生產中可能出現的關鍵性能問題。使用靜態 SQL 減少 DB2 服務器上的 CPU 使用/事務,並使現有的硬件和軟件投資獲得額外的價值增長。

表 1 總結了每個數據庫平台上的 Version 2.1 特性支持:


表 1. 每個數據庫平台上的特性支持

特性 DB2 for LUW IDS DB2 for z/OS DB2 for iSerIEs 為開發人員提供更多信息,幫助他們進行 SQL 調優

識別應用程序中哪些 SQL 語句花費最長的時間,或者哪些 SQL 語句執行得最頻繁

調優和優化應用程序,而不必更改代碼 - 非靜態 SQL

有 有 有 有 為開發人員提供更多信息,幫助他們進行 SQL 調優

調優和優化應用程序,而不必更改代碼 - 使用靜態 SQL

有 無 有 有 通過靜態 SQL 提高 OpenJPA 的服務質量 有 無 有 有 更好地洞察使用 SQL 的 Java 應用程序

不用運行應用程序就可以看到將發出什麼 SQL

可以看到應用程序將發出什麼 SQL,並且可以分析整個應用程序中什麼地方使用 SQL

應用程序使用什麼 SELECT 語句?哪些 SQL 語句使用絕對值(abs)函數?

應用程序中有哪些 SQL?哪些 SQL 被發送到數據庫?

SQL 是在哪裡定義的?又是在哪裡執行的?

結果集的值如何在 Java 應用程序中流動?

有 有 有 有 提高生成率和促進開發人員與 DBA 之間的協作 – 與靜態 SQL 相關的特性

創建和驗證可部署的 bindProps

綁定可部署的 jar

提供更多關於綁定錯誤的信息

有 無 有 有 提高生成率和促進開發人員與 DBA 之間的協作 – 與非靜態 SQL 相關的特性

SQL 與 Java 工具之間更多的集成

選擇 Data Studio Developer 中要使用的 pureQuery 運行時的位置

跨工具共享數據庫連接信息

輕松遷移 Data Studio Developer 1.x 或 Data Studio Developer 2.1 中的 pureQuery 項目

有 有 有 有 減少或消除 Java 數據庫應用程序的 SQL 注入風險 有 有 有 有

沒有理由不使用 Data Studio Developer 和 Data Studio pureQuery Runtime 2.1。以下是下載信息。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved