|
常用鏈接
留言簿(2)
隨筆檔案
文章檔案
搜索
最新評(píng)論

閱讀排行榜
評(píng)論排行榜
Powered by: 博客園
模板提供:滬江博客
|
|
|
|
|
發(fā)新文章 |
|
|
2009年2月16日
MyEclipse配置Weblogic
啟動(dòng)Eclipse,選擇window->Preferences->MyEclipse->Application Servers->Weblogic 8
啟用WebLogic服務(wù)器,配置如下:
(1) BEA home directory:C:\BEA。假定WebLogic安裝在C:\BEA文件夾中。
(2)WebLogic installation directory:C:\BEA\weblogic81。
(3)Admin username:用戶名。
(4)Admin password:密碼。
(5)Execution domain root:安裝后,啟動(dòng)服務(wù)的路徑。
(6)Execution domain name:mydomain。
(7)Execution server name:myserver。
(8)Hostname:PortNumber:localhost:7001。
(9)Security policy file:D:\BEA\weblogic81\server\lib\weblogic.policy。
(10)JAAS login configuration file:省略。
以上配置根據(jù)安裝情況不同而不同。
接著展開WebLogic 8結(jié)點(diǎn),選JDK,在右邊的WLS JDK name出選擇WebLogic 8默認(rèn)的JDK。
之前選擇單獨(dú)安裝JRE,單擊Add按鈕,彈出WebLogic > Add JVM對(duì)話框,在JRE名稱處隨便輸入一個(gè)名字,如 jre1.4.2,然后在JRE住目錄處選擇WebLogic安裝文件夾中的JDK文件夾,如 C:\BEA\jdk1.4.2_05, 程序會(huì)自動(dòng)填充Javadoc URL文本框和JRE系統(tǒng)庫列表框。
之后還要在下面的Optional Java VM arguments,如-ms64m -mx64m -Djava.library.path="C:/BEA/weblogic81/server/bin" -Dweblogic.management.discover=false -Dweblogic.ProductionModeEnabled=false
最后點(diǎn)擊Paths,在右邊的Prepend to classpath列表框中,通過Add JAR/ZIP按鈕,加入C:\BEA\weblogic81\server\lib\weblogic.jar、C:\BEA\weblogic81\server\lib\webservices.jar。如果用到數(shù)據(jù)庫,還需把數(shù)據(jù)庫的驅(qū)動(dòng)類庫加進(jìn)來,這里我們用WebLogic自帶的SQL Server數(shù)據(jù)庫驅(qū)動(dòng)庫C:\BEA\weblogic81\server\lib\mssqlserver4v65.jar。
2008年7月12日
CRM客戶關(guān)系管理 數(shù)據(jù)倉庫以面向“客戶”為主題進(jìn)行數(shù)據(jù)篩選、存儲(chǔ)
OLAP負(fù)責(zé)分析客戶的基本信息、儲(chǔ)蓄帳戶信息、歷史余額信息、銀行交易日志等,應(yīng)計(jì)動(dòng)態(tài)分析報(bào)表、直方圖、折線圖、餅圖等形式展現(xiàn)給管理者
2008年5月25日
今天下午在UNIX下編譯WINDOWS下開發(fā)的程序,用vi打開后發(fā)現(xiàn)有很多^M符號(hào),感覺很不爽,
到網(wǎng)上一查,解決辦法還真不少,找了一個(gè)一試,不成功,再試,還不行,可是網(wǎng)上的答案都差不多一樣的,都是%s/^M$//g"或者“%s/^M//g”,狂郁悶,后來發(fā)現(xiàn),原來“^M”大有文章,他是特殊字符
輸入有訣竅,應(yīng)該是“shift+v+m”來搞定。哈哈,又學(xué)一招,搞WINDOWS開發(fā)的,來搞UNIX開發(fā)還真的多學(xué)習(xí)。
“ : %s/^M$//g ” ---%指匹配整個(gè)文件
s是置換的意思
^M要用shift+v+m 組合鍵敲入
$表示匹配行尾的內(nèi)容
g表示每行中匹配到的內(nèi)容都要置換
理解了含義就可以搞定啦
可以把文件中的a 都替換成A
:%s/a/A/g
2008年4月23日
1)標(biāo)識(shí)部:提供程序的一般性文檔說明。
PROGRAM-ID段包含程序名,是每個(gè)程序所必須的。
2)數(shù)據(jù)部:數(shù)據(jù)部提供程序變量的存放位置,對(duì)不同數(shù)據(jù)類型分成不同的節(jié):
文件數(shù)據(jù)(File Section)、靜態(tài)數(shù)據(jù)(Working-Storage Session)、參數(shù)(Linkage Section)
呵呵,點(diǎn)滴體會(huì)
2008年3月19日
以計(jì)算系統(tǒng)的再造,應(yīng)業(yè)務(wù)需求的云計(jì)算、支持大量社群和數(shù)據(jù)交流的平臺(tái)、
實(shí)時(shí)和全方位信息處理與分析、隨時(shí)隨地執(zhí)行業(yè)務(wù)等尖端科技引領(lǐng)了未來信息技術(shù)的發(fā)展趨勢(shì),成為經(jīng)濟(jì)全球化發(fā)展的助推器
云計(jì)算:即把存儲(chǔ)于個(gè)人電腦、移動(dòng)電話和其他設(shè)備上的大量信息和處理器資源集中在一起,協(xié)同工作。
IBM正在封裝的云計(jì)算軟件名為Hsdoop,運(yùn)行在Linux操作系統(tǒng)上。Hadoop基于名為Nutch的開源搜索項(xiàng)目以及Google的MapReduce(映射化簡(jiǎn))軟件
隨時(shí)隨地上網(wǎng)處理數(shù)據(jù) “云計(jì)算”實(shí)現(xiàn)信息通存通取
Web2.0 :搜索,社區(qū)化網(wǎng)絡(luò),網(wǎng)絡(luò)媒體(音樂,視頻等),內(nèi)容聚合和聚集(RSS),
mashups(一種交互式Web 應(yīng)用程序),
2008年2月19日
“java.lang.NoClassDefFoundError” 關(guān)于classpath設(shè)置問題
需要在classpath中加入“.”
或 在運(yùn)行時(shí)加入?yún)?shù)-cp -classpath
如:java -classpath . Test
java.exe 接受的參數(shù)是類名,而不是文件名
java如何知道在哪加載類?
CLASSPATH環(huán)境變量的作用,java搜索CLASSPATH 變量以及 -cp -classpath
在 Windows 2000 / XP / .Net Server 中, 進(jìn)入"系統(tǒng)屬性--高級(jí)--環(huán)境變量",
新建環(huán)境變量名為CLASSPATH, 值為 ".;C:\JDK1.5\lib\dt.jar;C:\JDK1.5\jre\lib\rt.jar"
其中, "." 代表當(dāng)前目錄, rt.jar是最基本的Java運(yùn)行庫, dt.jar是輔助開發(fā)工具庫
為了使用方便, 還可以在PATH變量中加入 C:\JDK1.5\bin,
這樣運(yùn)行javac.exe 和 java.exe 就不用加上完整的路徑名了.
這里C:\JDK1.5是我的JDK路徑, 請(qǐng)更改為你自己對(duì)應(yīng)的路徑. 而且, 一般我們會(huì)添加一個(gè)JAVA_HOME變量, 設(shè)置為JDK路徑, 因?yàn)? Tomcat, Ant 等不少 Apache 項(xiàng)目都會(huì)要求此變量.
在安裝了ant等Java工具, 庫等后, 一般按照說明在CLASSPATH中加入對(duì)應(yīng)的運(yùn)行庫以方便運(yùn)行
最后還有一個(gè)小問題, 關(guān)于含有包的類的調(diào)用, 應(yīng)在包的頂目錄調(diào)用java, 而不是具體類的目錄.
比如 C:\test\com\softboys\HelloWorld.class 這個(gè)類, 應(yīng)該在C:\test下調(diào)用 "java com.softboys.HelloWorld" 而 不是在 C:\test\com\softboys\ 調(diào)用"java HelloWorld" .
2008年1月17日
例五:把導(dǎo)出信息保存在消息文件中。
export to d:\awards.ixf of ixf messages d:\msgs.txt select * from staff where dept = 20
這個(gè)例子把staff表中dept=20的數(shù)據(jù)導(dǎo)出到d:\awards.ixf文件中,所有的導(dǎo)出信息都保存在d:\msgs.txt文件中(無論是成功、警告還是失敗信息),這樣,管理員可以通過觀察信息文件找到問題所在。
例六:給導(dǎo)出數(shù)據(jù)列重命名。
export to d:\awards.ixf of ixf method n(c1,c2,c3,c4,c5,c6,c7) messages d:\msgs.txt select * from staff where dept=20
在默認(rèn)情況下,導(dǎo)出的每一列數(shù)據(jù)以表中對(duì)應(yīng)的字段名自動(dòng)命名,我們可以通過method n子句給每一列重新命名,需要注意的是,這個(gè)子句只在ixf和wsf格式文件中有效,在文本文件中不能使用。
數(shù)據(jù)的導(dǎo)入
例七:把C盤根目錄下的org.txt文件中的數(shù)據(jù)導(dǎo)入到org表中
import from c:org.txt of del insert into org
導(dǎo)入命令和導(dǎo)出命令的格式基本上處于對(duì)應(yīng)的關(guān)系,import對(duì)應(yīng)export,from對(duì)應(yīng)to,文件名和文件格式代表的含義相同,但是導(dǎo)入命令支持ASC格式的文件,而導(dǎo)出命令不支持。另外,在導(dǎo)出命令的最后是一個(gè)SQL語句,用于選擇要導(dǎo)出的數(shù)據(jù),而導(dǎo)入命令最后不是SQL語句,而是插入數(shù)據(jù)的方式以及目標(biāo)表名稱。
例八:從ASC格式文件中導(dǎo)入數(shù)據(jù)
import from c:org2.txt of asc method l(1 5,6 19,20 25,26 37,38 50) insert into org
其中 method l 子句用于指定文本文件中每一個(gè)字段的起始位置和終止位置,每個(gè)起始位置和終止位置間用空格分開,字段之間用逗號(hào)分開。 除了l方法之外,還有n方法和p方法,下面會(huì)敘述。 www.3s8.cn
例九:利用n方法導(dǎo)入數(shù)據(jù),并且創(chuàng)建新表。
首先導(dǎo)出一個(gè)用例文件:
export to d:org.ixf of ixf method n(a,b,c,d,e) select * from org
這樣org.ixf文件中有五列數(shù)據(jù),對(duì)應(yīng)的列名分別為a、b、c、d、e
然后在從該文件中導(dǎo)入數(shù)據(jù)到一個(gè)新表中
import from d:org.ixf of ixf method n(d,e,b) replace_create into orgtest
該命令從文件中選取三列導(dǎo)入到表中,順序可以不按照文件中原有的列的順序。replace_create方式的敘述見下。
插入方式有:
INSERT 方式——在表中現(xiàn)有數(shù)據(jù)的基礎(chǔ)之上追加新的數(shù)據(jù)。
INSERT_UPDATE 方式——這種方式只能用于有主鍵的表,如果插入的數(shù)據(jù)與原有數(shù)據(jù)主鍵不沖突,則直接插入,如果主鍵沖突,則用新的數(shù)據(jù)代替原有數(shù)據(jù)。
REPLACE 方式——先把表中現(xiàn)有的數(shù)據(jù)都刪除,然后向空表中插入數(shù)據(jù)。
REPLACE_CREATE 方式——表示如果表存在,則先把表中的數(shù)據(jù)都刪除,然后向空表中插入數(shù)據(jù);如果表不存在,則先根據(jù)文件中的字段創(chuàng)建表,然后再向表中插入數(shù)據(jù)。這種方式只能把IXF格式的文件中的數(shù)據(jù)插入到表中。 www.3s8.cn
例十:利用p方法導(dǎo)入數(shù)據(jù)
import from d:org.ixf of ixf method p(4,5,2) replace into orgtest
該例子執(zhí)行的效果和例九類似,只是把n方法換成了p方法,p方法后面的列表中指明列的序號(hào)即可,不需要指明列名。另外,此例中使用了replace方式插入數(shù)據(jù),這會(huì)把表中現(xiàn)有的數(shù)據(jù)都刪除,然后向空表中插入數(shù)據(jù)。
例十一:關(guān)于空值的導(dǎo)入
對(duì)于ixf格式的文件,導(dǎo)入空值非常方便,因?yàn)槔锩嬉呀?jīng)記錄了空值的信息。但是,對(duì)于ASC格式文件就有一定的難度了,因?yàn)镈B2會(huì)直接插入空格,而不是空值。為此,DB2提供了一個(gè)子句進(jìn)行控制:NULL INDICATORS
import from c:org2.txt of asc MODIFIED BY nullindchar=# method l(1 5,6 19,20 25,26 37,38 50) NULL INDICATORS(0,0,0,0,38 ) replace into org
在這個(gè)例子中,NULL INDICATORS子句后面是一個(gè)列表,表示前面四個(gè)字段都不會(huì)存在空值,而第五個(gè)字段從38列開始,可能存在空值,而 MODIFIED BY nullindchar=# 子句表示在文件中第五個(gè)字段如果遇到 # 號(hào),則表示為空值。
裝入(Load)
裝入命令格式與導(dǎo)入類似,命令關(guān)鍵字是Load,但是后面的參數(shù)比導(dǎo)入命令多的多,詳細(xì)用法可以自行參考DB2文檔。
裝入與導(dǎo)入類似,都是將輸入文件中的數(shù)據(jù)移入到目標(biāo)表中,二者的不同點(diǎn)將在實(shí)例中逐步解釋。
在裝入之前,目標(biāo)表必須已經(jīng)存在。裝入的性能比導(dǎo)入高,原因在后面結(jié)合實(shí)例詳細(xì)解釋。裝入操作不記錄到日志中,所以不能使用日志文件進(jìn)行前滾操作。
裝入分為4個(gè)階段:
1. 裝入階段
在這個(gè)階段發(fā)生兩件事:數(shù)據(jù)存儲(chǔ)在表中,收集索引鍵并排序。在裝入時(shí),DBA可以指定多長(zhǎng)時(shí)間生成一致點(diǎn)。它是裝入工具的檢查點(diǎn)。如果裝入在執(zhí)行期間被打斷,它可以從最后一個(gè)一致點(diǎn)處開始繼續(xù)重新執(zhí)行。
2. 構(gòu)建階段
在構(gòu)建階段,基于在裝入階段收集的索引鍵信息創(chuàng)建索引。如果在構(gòu)建階段發(fā)生錯(cuò)誤,裝入工具就重啟,它將從構(gòu)建階段開始處重新開始構(gòu)建。
3. 在刪除階段,所有違反唯一或主鍵約束的行都被刪除并拷貝到一個(gè)異常表(如果在語句中指定相應(yīng)選項(xiàng))中。當(dāng)輸入行被拒絕,消息文件中就生成消息。
DB2中所謂的數(shù)據(jù)移動(dòng),包括:
1. 數(shù)據(jù)的導(dǎo)入(Import)
2. 數(shù)據(jù)的導(dǎo)出(Export)
3. 數(shù)據(jù)的裝入(Load)。
導(dǎo)入和裝入都是利用DB2的相關(guān)命令把某種格式的文件中的數(shù)據(jù)保存到數(shù)據(jù)庫中的表中;
導(dǎo)出是指把DB2數(shù)據(jù)庫的表中的數(shù)據(jù)保存到某種格式的文件當(dāng)中去。
首先介紹一下文件的格式,用于DB2數(shù)據(jù)移動(dòng)的文件格式有四種:
1. ASC——非定界ASCII文件,是一個(gè)ASCII字符流。數(shù)據(jù)流中的行由行定界符分隔,而行中的每一列則通過起始和結(jié)束位置來定義。例如:
10 Head Office 160 Corporate New York
15 New England 50 Eastern Boston
20 Mid Atlantic 10 Eastern Washington
38 South Atlantic 30 Eastern Atlanta
42 Great Lakes 100 Midwest Chicago
2. DEL——定界ASCII文件,也是一個(gè)ASCII字符流。數(shù)據(jù)流中的行由行定界符分隔,行中的列值由列定界符分隔。文件類型修飾符可用于修改這些定界符的默認(rèn)值。例如:
10,"Head Office",160,"Corporate","New York"
15,"New England",50,"Eastern","Boston"
20,"Mid Atlantic",10,"Eastern","Washington"
38,"South Atlantic",30,"Eastern","Atlanta"
42,"Great Lakes",100,"Midwest","Chicago"
51,"Plains",140,"Midwest","Dallas"
66,"Pacific",270,"Western","San Francisco"
84,"Mountain",290,"Western","Denver"
3. WSF——(work sheet format)為工作表格式,用于與Lotus系列的軟件進(jìn)行數(shù)據(jù)交換。
4. PC/IXF——是集成交換格式(Integration Exchange Format,IXF)數(shù)據(jù)交換體系結(jié)構(gòu)的改編版本,由一些列可變長(zhǎng)度的記錄構(gòu)成,包括頭記錄、表記錄、表中每列的列描述符記錄以及表中每行的一條或多條數(shù)據(jù)記錄。PC/IXF 文件記錄由包含了字符數(shù)據(jù)的字段組成。
數(shù)據(jù)的導(dǎo)出(Export)
例一:把Org表中的所有數(shù)據(jù)導(dǎo)出到文件C:\ORG.TXT中。
Export to c:\org.txt of del select * from org
其中,of del表示導(dǎo)出到的文件的類型,在本例中導(dǎo)出到一個(gè)非定界文本文件中;后面的select * from org是一個(gè)SQL語句,該語句查詢出來的結(jié)果就是要導(dǎo)出的數(shù)據(jù)。
例二:改變del格式文件的格式控制符
export to c:\staff.txt of del modified by coldel$ chardel'' decplusblank select * from staff
在該例中,modified子句用于控制各種符號(hào),coldel表示字段之間的間隔符,默認(rèn)情況為逗號(hào),現(xiàn)在改為$號(hào);chardel表示字符串字段用什么符號(hào)引用,默認(rèn)情況下為一對(duì)雙引號(hào)括起來,現(xiàn)在改為用一對(duì)單引號(hào)括起來;decplusblank表示對(duì)于十進(jìn)制數(shù)據(jù)類型,用空格代替最前面的加號(hào),因?yàn)槟J(rèn)情況下會(huì)在十進(jìn)制數(shù)據(jù)前面加上正負(fù)號(hào)的。 www.3s8.cn
例三:以ASC格式將數(shù)據(jù)導(dǎo)出到文件
Export命令是不支持ASC格式文件的,所以如果想導(dǎo)出ASC這樣規(guī)整的格式,需要程序員自己進(jìn)行轉(zhuǎn)換操作,思路是將各種數(shù)據(jù)類型都轉(zhuǎn)換成定長(zhǎng)字符串,然后把各個(gè)要導(dǎo)出的字段合并成為一個(gè)字段。
例如創(chuàng)建如下結(jié)構(gòu)的表n:
create table n(a int,b date,c time,d varchar(5),e char(4),f double)
然后插入兩條數(shù)據(jù):
insert into n values(15,'2004-10-21','23:12:23','abc','hh',35.2)
insert into n values(5,'2004-1-21','3:12:23','bc','hhh',35.672)
要想把這兩條數(shù)據(jù)以規(guī)整的格式導(dǎo)出到文件中,進(jìn)行如下操作:
export to c:\test.txt of del select char(a) || char(b) || char(c) || char(d,5) || e || char(f) as tmp from n
這樣導(dǎo)出的結(jié)果與ASC格式的文件非常類似,只是每一行的前后多出了一對(duì)雙引號(hào),對(duì)此我們可以使用文本工具(如寫字板、記事本等)把雙引號(hào)刪除掉,也可以置之不理,在以后導(dǎo)入的時(shí)候直接控制格式(忽略雙引號(hào))
在文件中的格式為:
"15 2004-10-2123.12.23abc hh 3.52E1 "
"5 2004-01-2103.12.23bc hhh 3.5672E1 "
例四:大數(shù)據(jù)的導(dǎo)出
export to d:\myfile.del of del lobs to d:\lob\ lobfile lobs modified by lobsinfile select * from emp_photo
該命令把emp_photo表的數(shù)據(jù)導(dǎo)出到d:\myfile.del文件中,其結(jié)果為:
<pre>
"000130","bitmap","lobs.001.0.43690/"
"000130","gif","lobs.001.43690.29540/"
"000130","xwd","lobs.001.73230.45800/"
"000140","bitmap","lobs.001.119030.71798/"
"000140","gif","lobs.001.190828.29143/"
"000140","xwd","lobs.001.219971.73908/"
"000150","bitmap","lobs.001.293879.73438/"
"000150","gif","lobs.001.367317.39795/"
package mypackage;
import java.sql.*;
import java.util.*;
import java.io.*;
class test
{
public static void main(String args[])
throws SQLException, Exception
{
try
{
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();
String url="jdbc:db2:EBUSINES"; //EBUSINES為數(shù)據(jù)庫名
String user="db2admin";
String password="mydb2";
Connection conn= DriverManager.getConnection(url,user,password);
System.out.print("Done!OK!!!\n");
}catch(SQLException sqle)
{
System.out.print(sqle);
}
}
}
2008年1月16日
#define EXTERN
#include "btpcomm.h"
#include "btpcmmcr.h"
#include "sqlenv.h"
main()
{
EXEC SQL INCLUDE SQLCA;
EXEC SQL BEGIN DECLARE SECTION ;
char txnbrh[12+1];
char txndt[10+1];
long txncnt;
EXEC SQL END DECLARE SECTION;
EXEC SQL update gcdgbnk set devlogrrn=0 where 1=1;
if ((sqlca.sqlcode != 0 ) && (sqlca.sqlcode != 100))
{
sprintf( cGlbWk, "update gcdgbnk err %d", sqlca.sqlcode );
BtpApDisp( cPrgID, cGlbWk );
BtpBatReturn(BATPROCDRUNERR, "數(shù)據(jù)庫操作失敗");
return(-1);
}
EXEC SQL INSERT INTO nmgtact SELECT brhid, :txndt, count(*), sum(txnamt)
FROM gctact
WHERE txndate = :txndt
AND mchtype = '6050'
AND revcd = '0'
GROUP BY brhid;
if ((sqlca.sqlcode != 0 ) && (sqlca.sqlcode != 100))
{
sprintf( cGlbWk, "insert into nmgtact err %d", sqlca.sqlcode );
BtpApDisp( cPrgID, cGlbWk );
BtpBatReturn(BATPROCDRUNERR, "數(shù)據(jù)庫操作失敗");
return(-1);
}
BtpBatReturn(BATPROCDRUNOK, "");
return;
}
靜態(tài)嵌入SQL語句的應(yīng)用程序:
1)include語句定義并描敘了SQLCA的結(jié)構(gòu)。SQLCA用于應(yīng)用程序和數(shù)據(jù)庫之間的通訊,其中SQLCODE返回SQL語句執(zhí)行后的結(jié)果狀態(tài)。
2)在BEGIN DECLARE SECTION和END DECLARE SECTION之間定義了宿主變量。宿主變量可被SQL語句引用,也可以被C語言語句引用。它用于將程序中的數(shù)據(jù)通過SQL語句傳給數(shù)據(jù)庫管理器,或從數(shù)據(jù)庫管理器接收查詢的結(jié)果。在SQL語句中,主變量前均有“:”標(biāo)志以示區(qū)別
3)在gctact中選擇brhid,插入nmgtact表;
|
|