2008年9月10日 星期三

本機的mail應該是有起來吧!!電子商店還測試的不夠,就怕被別人拿去用,慘!

timloo@ktshop:~$ telnet ktshop.kttools.com.tw 25
Trying 192.168.168.39...
Connected to ktshop.kttools.com.tw.
Escape character is '^]'.
220 ktshop ESMTP Postfix (Ubuntu)
ehlo ktshop.kttools.com.tw
250-ktshop
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.

2007年2月15日 星期四

derby似乎也是朝sybase全方面的拓展procedure,fuction的功能

http://wiki.apache.org/db-derby/DerbySQLroutines

用很少的差異,也不要自訂語法。

整合進來,但不要搞得複雜。

derby原生就是java 。

就是調整它,拿一個需求展開來操它

http://db.apache.org/derby/docs/10.2/tuning/

什麼都有,卻不用太大的java db。

db是什麼?

小而美而快的db。

操它又讓它能更快一點。

又是一個不知所謂的derby的cousor功能

stmt.executeUpdate("UPDATE SAMP.STAFF SET COMM = " +
"COMM + 20 " + "WHERE CURRENT OF " + ResultSet.getCursorName());

自由到,覺得有點怪??


derby 的進階功能,call procedure,call function

能簡單的call function是重要的,
相對於
sybase還要花8萬,
真讓人不爽,

derby的效能是差在那裏呢?

embeded的db,web server,所有皆可可攜性。

這是範例??
CREATE FUNCTION TO_DEGREES(RADIANS DOUBLE) RETURNS DOUBLE
PARAMETER STYLE JAVA NO SQL LANGUAGE JAVA
EXTERNAL NAME 'java.lang.Math.toDegrees'
這是什麼鬼創建方式??

真的假的。

Example

CREATE PROCEDURE SALES.TOTAL_REVENUE(IN S_MONTH INTEGER,
IN S_YEAR INTEGER, OUT TOTAL DECIMAL(10,2))
PARAMETER STYLE JAVA READS SQL DATA LANGUAGE JAVA EXTERNAL NAME
'com.acme.sales.calculateRevenueByMonth'

第三行後就不知所謂了。

也太像寫作文了吧

derby的流水號欄位,及範例

CREATE TABLE HOTELAVAILABILITY
(HOTEL_ID INT NOT NULL, BOOKING_DATE DATE NOT NULL,
ROOMS_TAKEN INT DEFAULT 0, PRIMARY KEY (HOTEL_ID, BOOKING_DATE));
-- the table-level primary key definition allows you to
-- include two columns in the primary key definition

PRIMARY KEY (hotel_id, booking_date))
-- assign an identity column attribute to an INTEGER
-- column, and also define a primary key constraint
-- on the column

CREATE TABLE PEOPLE
(PERSON_ID INT NOT NULL GENERATED ALWAYS AS IDENTITY
CONSTRAINT PEOPLE_PK PRIMARY KEY, PERSON VARCHAR(26));
-- assign an identity column attribute to a SMALLINT
-- column with an initial value of 5 and an increment value
-- of 5.

CREATE TABLE GROUPS
(GROUP_ID SMALLINT NOT NULL GENERATED ALWAYS AS IDENTITY
(START WITH 5, INCREMENT BY 5), ADDRESS VARCHAR(100), PHONE VARCHAR(15));

用力找時,反而找不到,不用力找時,反而很多。

http://db.apache.org/derby/docs/10.2/devguide/

http://db.apache.org/derby/docs/10.2/ref/

CREATE TABLE MAPS
(
MAP_ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
MAP_NAME VARCHAR(24) NOT NULL,
REGION VARCHAR(26),
AREA DECIMAL(8,4) NOT NULL,
PHOTO_FORMAT VARCHAR(26) NOT NULL,
PICTURE BLOB(102400),
UNIQUE (MAP_ID, MAP_NAME)
)

always 算是關鍵字,總覺得不太習慣。
整個句子拉得很長!
它的參數也別具風格,
自定一個db也算是愈來愈接近了。
高興的語法。
中文式的開table法。

或是中文欄位,當然是unicode的中文。

所以網路上所有用mysql的範例,要相對的修改。


有不少erp是不用自動加1欄位的。

2007年2月12日 星期一

終於,快要下一步

Exception in thread "main" org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): kt.com.User
at org.hibernate.id.Assigned.generate(Assigned.java:33)

全天下都是照抄範例