Test ÇÑ Source µ¿ºÀÇÕ´Ï´Ù. ¸¹Àº Áöµµ¹Ù¶ø´Ï´Ù.


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]

±Û¾´ÀÌ :ÀüÁø¹è 1998³â 5¿ù 15ÀÏ 11:36:00

In Reply to: ¾Ñ À߸øºÎÃÆ´Ù. ¾Æ·¡ÀÇ [thread¿¡·¯?] ¹Ø ÀÔ´Ï´Ù. posted by ÀüÁø¹è on 1998³â 5¿ù 15ÀÏ 11:11:06:

testÇÑ source



/*********************************************************************
------------------------------------------------------------------
| total size | message size | message | message size| message| ...
------------------------------------------------------------------
^ ^ ^ ...
10 byte 10 byte message size byte ...
**********************************************************************/
import java.net.*;
import java.io.*;
import java.sql.*;
import java.util.Date;
import java.util.*;
import java.text.*;


// Class to manage information about a connection


class ServerThread
{
Socket socket;
Connection conn;
PreparedStatement pstmt;


public ServerThread(Connection c)
{
conn = c;
try {
conn.close(); // À̰;ø¸é Error ¹ß»ý
conn = null;
dbConnect();


} catch(SQLException e) {
}
}


public void execute()
{
String str = "";
String record = "";
ResultSet rset = null;
boolean flag = true;


ResultSetMetaData rsmd = null;
int numCols = 0;
int dataType = 0;

// file À̳ª Socket À̳ª browser »ý¼ºµÈ SQL ¹® => Sql ARG
String sqlText = "SELECT boardid, parentid, " +
" boardname, description, flag " +
" FROM board_name " +
" ORDER BY boardid ASC";
try
{
pstmt = conn.prepareStatement(sqlText);
rset = pstmt.executeQuery();


rsmd = rset.getMetaData();
numCols = rsmd.getColumnCount();


flag = rset.next();
while (flag) {


// for one record
for (int i=1; i<=numCols; i++) {
dataType = rsmd.getColumnType(i);
record = record.trim() + sendElement(rset, rsmd.getColumnType(i),i);
}
record = sizeToString(record.length()) + record;


str = str + record;
record = "";
flag = rset.next();
}
rset.close();
pstmt.close();


} catch (SQLException e1) {
try {
rset.close();
pstmt.close();
} catch (Exception e2) {
}
}

public void dbConnect() throws Exception
{
conn = DriverManager.getConnection("jdbc:oracle:thin:jjb/jjh@haksa.sejong.ac.kr:1521:ORA7");
conn.setAutoCommit(false);
}



private String sizeToString(int i)
{
String s;
int len;


s = "" + i;


len = s.length();
len = 10 - len;


for(int j=0; j< len; j++)
s = "0" + s;


return (s);
}


public String sendElement(ResultSet rs,int datatype,int col)
throws SQLException
{
String str="";


switch(datatype) {
case Types.DATE:
java.sql.Date date = rs.getDate(col);
if(date == null) {
str = "";
}
else {
str = "" + date.toString();
}


break;
case Types.TIME:
java.sql.Time time = rs.getTime(col);
if(time == null) {
str = "";
}
else {
str = "" + time.toString();


}
break;
case Types.TIMESTAMP:
java.sql.Timestamp timestamp = rs.getTimestamp(col);
if(timestamp == null) {
str = "";
}
else {
str = "" + timestamp.toString();
}
break;
case Types.CHAR:
case Types.VARCHAR:
case Types.LONGVARCHAR:
String string = rs.getString(col);
if(string == null) {
str = "";
}
else {
str = "" + string;
}
break;
case Types.NUMERIC:
case Types.DECIMAL:
java.math.BigDecimal numeric = rs.getBigDecimal(col,10);
if(numeric == null) {
str = "0";
}
else {
str = "" + numeric.toString();
}
break;
case Types.BIT:
boolean bit = rs.getBoolean(col);
str = "" + new Boolean(bit);
break;
case Types.TINYINT:
byte tinyint = rs.getByte(col);
str = "" + new Integer(tinyint);
break;
case Types.SMALLINT:
short smallint = rs.getShort(col);
str = "" + new Integer(smallint);
break;
case Types.INTEGER:
int integer = rs.getInt(col);
str = "" + new Integer(integer);
break;
case Types.BIGINT:
long bigint = rs.getLong(col);
str = "" + new Long(bigint);
break;
case Types.REAL:
float real = rs.getFloat(col);
str = "" + new Float(real);
break;
case Types.FLOAT:
case Types.DOUBLE:
double longreal = rs.getDouble(col);
str = "" + new Double(longreal);
break;
case Types.BINARY:
case Types.VARBINARY:
case Types.LONGVARBINARY:
byte[] binary = rs.getBytes(col);
if(binary == null) {
str = "";
}
else {
str = "" + new String(binary, 0);
}
break;
}


str = str.trim();
str = sizeToString(str.length()) + str;


return (str);
}
}



public class Test
{
static public void main(String argv[])
{
Connection c = null;
ServerThread st = null;


try {
Class.forName("oracle.jdbc.driver.OracleDriver");


c = DriverManager.getConnection("jdbc:oracle:thin:jjb/jjh@haksa.sejong.ac.kr:1521:ORA7");
st = new ServerThread(c);


while (true)
{
st.execute();
}
} catch (SQLException k) {
System.out.println(k.getMessage());
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}


}
}




´ÙÀ½ ±Ûµé:



À̾ ±Û¿Ã¸®±â(´äÇϱâ)

À̸§:
E-Mail:
Á¦¸ñ:
³»¿ë:
°ü·Ã URL(¼±ÅÃ):
URL Á¦¸ñ(¼±ÅÃ):
°ü·Ã À̹ÌÁö URL:


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]