oracle学习数据,oracle学习中的一些心得
當前位置:我的異常網(wǎng)? 數(shù)據(jù)庫???oracle學習中的一些心得
oracle學習中的一些心得
www.myexceptions.net??網(wǎng)友分享于:2015-08-26??瀏覽:10次
oracle學習中的一些經(jīng)驗
1、 oracle中無法刪除已經(jīng)連接了的用戶。 我通過配置tomcat服務器的方式創(chuàng)建了連接池,并通過程序與數(shù)據(jù)庫建立好了連接,此時當我刪除用戶時報錯“不能刪除已經(jīng)連接了的用戶”。
2、 如何刪除一個用戶下所有的表, 這個問題原本是在剛接觸oracle的時候就已經(jīng)涉及到了, 今天再次有刪除的需求時我竟然手動地去刪除一張張表, 漢~~~~復習一下:
刪除用戶的語法是 drop user user_name
如果要刪除該用戶模式的包含對象(比如表)就要在要刪除得用戶名后面加上cascade
drop user user_name cascade;
3、 通常使用的中文化的oracle多是基于gb2312編碼的。
4、? 異常: java.sql.SQLException: ORA-01840: 輸入值對于日期格式不夠長
————找到錯誤原因了: 找到了..column兩邊各少了個"'"
5、 關(guān)于如何構(gòu)造動態(tài)查詢的問題?
在做一個網(wǎng)頁時希望實現(xiàn)動態(tài)查詢的功能, 也即給出一系列的可選的選項供用戶選擇, 然后根據(jù)用戶選擇出來的組合條件進行查詢。 我是實現(xiàn)了此功能的,但是使用的是拼接sql的方法, 這是一種存在嚴重的安全隱患的做法, 更先進方法探索中... ...
關(guān)于自己這種拼接sql的方法的補充:
5.1.?? 除了在前面用simon = " 1 = 1 "外,還可以每次都有個 and .后面再將前面四個字符刪掉。這樣可以避免所有為空時查詢出所有記錄。
5.2???? 使用Trim函數(shù)去除空格的干擾
3.如果txtname.Text等幾個文本內(nèi)包含有“‘”字符的話,程序會出錯。建議用Replace(字符串, "'", "''")過濾一下。
4.最好用個復選框或者下拉列表來作為你查詢條件的依據(jù),選中的才查,不要用=“”來判斷。因為這樣子就可以少了很多過濾處理
6、??? 一個同一字段可多選幾個條件進行查詢及打印的范例。
與一般的通用查詢所不同的是,IN 后面的參數(shù)是多個字符串,不是單個字符串,因此用引用窗體的控件的方法無法實現(xiàn)條件查詢。需要先構(gòu)造一個SQL語句后,寫入查詢中,再重新定義一下子窗體的數(shù)據(jù)源就可以更新顯示了。
這種使用列表框的通用查詢,動態(tài)加載字段的值供選擇,并可以多選,比一般的組合框或文本框輸入查詢條件要方便和靈活。但無法實現(xiàn)模糊查詢,所以要根據(jù)需要,用列表框與文本框、組合框共同使用。
7、? 網(wǎng)上看到的一個問題:
我現(xiàn)在需要用J2EE的WebService來代替以前的COM+組件實現(xiàn)如下功能:
(1)通過WebService傳入一條SQL語句進行查詢
(2)將查詢出來的結(jié)果集通過Web?? Service返回給VC的客戶端
(3)要求SQL是動態(tài)的,查詢的字段與列數(shù)也是不確定的,
以前用COM+實現(xiàn)時可以返回一個結(jié)果集給VC客戶端,
現(xiàn)在用J2EE代替COM+來實現(xiàn)以上的功能,我該如何做,
有沒有現(xiàn)成的組件可以使用,請各路高手給點建議?
——————網(wǎng)友解答:??? 2種方式,一種是RPC方式,傳入一個字段名數(shù)組,一個表名,一個字符串條件,返回一個2維數(shù)組表示多條記錄。是否需要傳個頁碼數(shù)過去,需要考慮一下。
另外一種是消息服務方式,就是傳入xml作查詢條件,返回xml作結(jié)果。結(jié)構(gòu)自己設計。
不管用那種但一次返回的記錄數(shù)不宜太多,如果太多,建議作為數(shù)據(jù)文件壓縮后另行傳送。
建議只轉(zhuǎn)XML數(shù)據(jù)傳遞。
在XML定義要查詢的項值(比如你說的字段),及要返回的結(jié)果,如果有特別要求,定義好格式,返回XML數(shù)據(jù)集。執(zhí)行查詢客戶端(需要調(diào)用的不用關(guān)心)。
我的讀后感: 動態(tài)查詢的參數(shù)列表用字段名數(shù)組? 如何控制?
8、? 我嘗試在一個存儲過程中傳遞一系列以逗號劃定界限的值,以限制結(jié)果集。但是無論什么時候,我在IN子句中使用變量,都會得到錯誤信息。是否存在一種不執(zhí)行動態(tài)SQL語句也能完成查詢的方式呢?
動態(tài)SQL是個危險分子,在一些特定的組織中甚至不被允許使用。
那么你要如何在不使用動態(tài)SQL的情況下執(zhí)行查詢呢?可以通過XML實現(xiàn)。
第一步,你需要從一個以逗劃定界限的字符串中產(chǎn)生一個XML字段。
4、 關(guān)于我自己寫的那種拼接字符串的方法存在如下一些建議:
文章評論
總結(jié)
以上是生活随笔為你收集整理的oracle学习数据,oracle学习中的一些心得的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle具有开放性吗,Oracle数
- 下一篇: linux禁用用户账号,技术|在 Lin