最近在用友做項目,用得資料庫是db2,以前從來沒用過,但是對於寫程式來說,啥資料庫都一樣,都是那幾個語句,能執行就行。
說是這樣說,但是真用上就發現問題了,最大的就是沒有好的用戶端工具,網上搜了很多,什麼toad、quest都用了,感覺用著都不爽,怎麼都比不了oracle下的plsql。寫個sql語句,那叫一個費勁,想修改個資料,也叫一個費勁,儘管toad支援代碼自動提示,但是速度太慢了,而且介面很亂,看著都暈;quest呢,怎麼用都不習慣,連代碼提示都沒有。。而且這些用戶端的快速鍵和我原來的習慣完全不一樣,本來用eclipse就夠彆扭的了,再加上這些軟體,我就想當的鬱悶。。。
這種問題還是自己動手吧,咱就創造一個db2的用戶端,專門用來執行sql語句和資料編輯。就這樣,sqleditor的雛形就在腦中開始構建了,用自己最熟的.net寫一個吧,原型就是plsql。
軟體實現的主要功能:
1.採用IBM.Data.DB2串連db2,自動儲存登陸資訊到本地
2.支援select語句查詢並顯示結果,如果是單表查詢,可以直接修改資料,操作方式與plsql類似(不用寫for update)
3.支援批量執行insert,update,delete語句,對傳回值和錯誤資訊進行分組。
4.支援代碼提示,這包括所有sql文法的關鍵字、登陸資料庫的所有表名、sql語句中的別名(如a1)、指定表的所有列名。
5.對於單表查詢,支援將查詢結果匯出為insert語句。
6.支援將查詢結果複製到excel,也支援將excel資料複製到編輯表格中進行insert或update(excel列必須與編輯表格列一致)
7.獨立事物提交和復原,每個視窗均為獨立事物。
8.執行select語句,只返回少量資料,避免大資料量的死機(與plsql一致),查詢時支援停止查詢
9.支援凍結列
10.支援單條顯示查詢結果(類似plsql,但是單條顯示時不支援編輯)
11.支援查看錶結構(不支援編輯)
當然,本軟體還支援sqlserver2000和sqlserver2005,將SQLEditor2.exe.config中的databasetype改為sqlserver2000或sqlserver2005即可,效果與db2的是一樣的
由於這個軟體是在做項目的過程中一點點開發的,沒有什麼系統的設計,也沒做特別的最佳化,本人也不是專業電腦出身,一切都是為瞭解決實際問題寫的,所以bug相當多,在用友同仁的指點下,已經修正了很多,希望使用的朋友多多包容。此軟體已經在項目組裡使用了很長時間,開發和實施都在用,呵呵,我很欣慰啊~~
如果有正在使用db2資料庫的朋友,可以考慮一下我的sqleditor,呵呵,純免費的(雖然使用了破解的flexgrid控制項),在使用過程中有什麼問題,也可給我發郵件,我會儘快解決。
軟體更新資訊:
一個基於.net2.0的sql編輯器,支援文法高亮,支援代碼自動補全,支援全表格式資料編輯,支援資料匯出excel和insert語句
---------------------------------------------------------
1.0.2.1 修正串連db2時報“未註冊IBMDADB2”提供者”的錯誤,引入IBM.Data.DB2,採用db2connection串連資料庫
1.0.2.0 增加對sqlserver2000和sqlserver2005的支援,增加凍結列功能
1.0.1.5 增加退出儲存提示的全否按鈕
1.0.1.3 修改查詢結果顯示不全的bug,修改新增視窗不能執行sql的bug
1.0.1.2 支援從nclog內啟動
1.0.1.1 修改複製到excel和從excel粘貼的錯誤,增加行選擇模式,使用者資料匯出
1.0.1.0 修改批量執行換行情況sql的bug,修正儲存資料時事物的bug,關閉時,增加是否提交事物的提示
1.0.0.10 修改了無記錄情況下點擊編輯報錯的錯誤
1.0.0.9 調整了匯出bug,和匯出方式
1.0.0.8 修正了登入時取消死機的bug
1.0.0.7 修正了輸入錯誤sql死機的問題(insert update delete)
1.0.0.6 修正了輸入錯誤sql死機的問題(select)
1.0.0.5 增加了SQLSERVER的支援
1.0.0.4 修正了更新資料時,主鍵類型不準確的bug;增加了批量執行選中行sql的功能
1.0.0.3 新增了批量執行sql的功能,修正了以普通方式執行多個sql,失敗後鎖表的問題;增加了db2下儲存登陸資訊並且根據伺服器不同自動帶出的功能
1.0.0.2 修正了點擊“編輯”按鈕的bug:如果列名和from之間有多個空格,則點擊編輯報錯的問題
1.0.0.1 更新了匯出insert語句的問題,如果資料庫中的值為“”且資料類型為char,在執行insert後,該列會變成若干空格;此處修改了一下,如果為“”,則insert語句中為null,不為''
後期準備在增加一些資料庫的支援,如mysql,sqllite等等(oracle就算了,plsql已經相當優秀了,哈哈)
下面是軟體的
登陸
主介面
關於
:
http://download.csdn.net/source/1191600