database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Q&A 856 게시물 읽기
No. 856
Q.다시 올려요...
작성자
임광루
작성일
2008-01-14 22:43
조회수
4,685

답글이 며칠째 안달리길래... 다시올립니다.

 

 

 

--------------------------------------------------------------------------------------

======================================================================================

--------------------------------------------------------------------------------------

 

 

array 형태가 아니라도 마찬가지 입니다.

 

소스는 귀사의 itrack 소스인데요.. 일단 올려보도록 하겠습니다.

 

 

 

==================================================================================

 

static public UniSQLOID insertFile(Connection con, File f, String username, String filename)

        throws IOException, SQLException

{

  if (f == null)

    return null;

 

  FileInputStream        fin = null;

  UniSQLOID                fileObj = null;

 

  try {

    String query = \"call new_lo() on class itrack_attach_file\";

    Object[] resultValues = ITrackDB.selectQuery(con, query, null, 0);

    fileObj = (UniSQLOID) resultValues[0]; // 에러 발생

 

    fin = new FileInputStream(f);

    fileObj.saveGLO(fin);

    fin.close();

    fin = null;

 

    String[] attrNames = {\"username\", \"filename\"};

    String[] attrValues = {username, filename};

 

    fileObj.setValues(attrNames, attrValues);

  } finally {

    if (fin != null)

      fin.close();

  }

 

  return fileObj;

}

 

 

[stack trace]

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

 

exception

org.apache.jasper.JasperException: unisql.sql.UniSQLOID cannot be cast to unisql.sql.UniSQLOID

        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)

        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)

        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)

        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)

        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

 

root cause

 

java.lang.ClassCastException: unisql.sql.UniSQLOID cannot be cast to unisql.sql.UniSQLOID

        unisql.itrack.ITrackDB.insertFile(ITrackDB.java:97)

        unisql.itrack.ITrackIssueInfo.makeAttachfileValue(ITrackIssueInfo.java:1324)

        unisql.itrack.ITrackIssueInfo.updateIssue(ITrackIssueInfo.java:970)

        org.apache.jsp.issue_005fupdate_jsp._jspService(issue_005fupdate_jsp.java:113)

        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)

        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)

        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)

        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)

        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

 

==================================================================================

 

파일첨부할때 나타나는 에러이구요

에러나는 부분은 모두 Object를 UniSQLOID로 cascading하는 부분입니다.

 

 

 

>안녕하세요.

>몇가지 테스트를 해본결과 일반적인 형변환은 가능합니다. 다만 CUBRIDOID[]= (CUBRIDOID[])obj; 와 같이 array 에 대하여 전체를 한번에 형변환은 않되는 것 같습니다. 기본 타입에 대하여도 array 에 대한 형변환을 해보니 역시 않되는 것으로 보입니다.

>OidTest.java:32: inconvertible types

>found   : int[]

>required: float[]

>        float[] fal = (float[])val;

>                               ^

>정확히 어떤식으로 하셨는지 해당 부분의 소스를 올려주시면 그대로 테스트를 해보도록 하겠읍니다.

>

>>Object 타입을 UniSQLOID 타입으로 형변환할때 에러가 발생하는데요

>>

>>Object의 리턴값은 디버깅코드로 찍어보면 \"unisql.sql.UniSQLOID@114b17\"

>>

>>와 같이 나옵니다.

>>

>>형변환이 되지 않는이유가 뭔가요....ㅠㅠ

 

이 글에 대한 댓글이 총 1건 있습니다.

답변이 늦어 죄송합니다.

재현을 위해 여러 방면으로 테스트를 해보았으나 정상적으로 이루어지고 있습니다.

현재 사용하고 있는 큐브리드 버전과 WAS(Tomcat) 버전, JDK 버전을 알려주시기 바랍니다.

 

 

>답글이 며칠째 안달리길래... 다시올립니다.

>

>

>

>--------------------------------------------------------------------------------------

>======================================================================================

>--------------------------------------------------------------------------------------

>

>

>array 형태가 아니라도 마찬가지 입니다.

>

>소스는 귀사의 itrack 소스인데요.. 일단 올려보도록 하겠습니다.

>

>

>

>==================================================================================

>

>static public UniSQLOID insertFile(Connection con, File f, String username, String filename)

>        throws IOException, SQLException

>{

>  if (f == null)

>    return null;

>

>  FileInputStream        fin = null;

>  UniSQLOID                fileObj = null;

>

>  try {

>    String query = \"call new_lo() on class itrack_attach_file\";

>    Object[] resultValues = ITrackDB.selectQuery(con, query, null, 0);

>    fileObj = (UniSQLOID) resultValues[0]; // 에러 발생

>

>    fin = new FileInputStream(f);

>    fileObj.saveGLO(fin);

>    fin.close();

>    fin = null;

>

>    String[] attrNames = {\"username\", \"filename\"};

>    String[] attrValues = {username, filename};

>

>    fileObj.setValues(attrNames, attrValues);

>  } finally {

>    if (fin != null)

>      fin.close();

>  }

>

>  return fileObj;

>}

>

>

>[stack trace]

>HTTP Status 500 -

>--------------------------------------------------------------------------------

>type Exception report

>message

>description The server encountered an internal error () that prevented it from fulfilling this request.

>

>exception

>org.apache.jasper.JasperException: unisql.sql.UniSQLOID cannot be cast to unisql.sql.UniSQLOID

>        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)

>        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)

>        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)

>        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)

>        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

>

>root cause

>

>java.lang.ClassCastException: unisql.sql.UniSQLOID cannot be cast to unisql.sql.UniSQLOID

>        unisql.itrack.ITrackDB.insertFile(ITrackDB.java:97)

>        unisql.itrack.ITrackIssueInfo.makeAttachfileValue(ITrackIssueInfo.java:1324)

>        unisql.itrack.ITrackIssueInfo.updateIssue(ITrackIssueInfo.java:970)

>        org.apache.jsp.issue_005fupdate_jsp._jspService(issue_005fupdate_jsp.java:113)

>        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)

>        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

>        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)

>        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)

>        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)

>        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

>

>==================================================================================

>

>파일첨부할때 나타나는 에러이구요

>에러나는 부분은 모두 Object를 UniSQLOID로 cascading하는 부분입니다.

>

>

>

>>안녕하세요.

>>몇가지 테스트를 해본결과 일반적인 형변환은 가능합니다. 다만 CUBRIDOID[]= (CUBRIDOID[])obj; 와 같이 array 에 대하여 전체를 한번에 형변환은 않되는 것 같습니다. 기본 타입에 대하여도 array 에 대한 형변환을 해보니 역시 않되는 것으로 보입니다.

>>OidTest.java:32: inconvertible types

>>found   : int[]

>>required: float[]

>>        float[] fal = (float[])val;

>>                               ^

>>정확히 어떤식으로 하셨는지 해당 부분의 소스를 올려주시면 그대로 테스트를 해보도록 하겠읍니다.

>>

>>>Object 타입을 UniSQLOID 타입으로 형변환할때 에러가 발생하는데요

>>>

>>>Object의 리턴값은 디버깅코드로 찍어보면 \"unisql.sql.UniSQLOID@114b17\"

>>>

>>>와 같이 나옵니다.

>>>

>>>형변환이 되지 않는이유가 뭔가요....ㅠㅠ

 

손승일님이 2008-01-15 09:23에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
859Q.mysql의 password() 기능이 있는지요 [1]
이상현
2008-01-16
4149
858Q.큐브리드 6.6.0 버젼에서는 loadjava가 없나요 ?? [1]
개발자
2008-01-16
4225
857Q.큐브리드 트리거에서는 중첩if문 사용못합니까 ?? [1]
개발자
2008-01-15
4426
856Q.다시 올려요... [1]
임광루
2008-01-14
4685
855Q.VC++, CRecordset에서 질의(컬럼 + 컬럼 AS NEW_NAME) 오류 [1]
한태창
2008-01-14
4265
852Q.DSN없이 ODBC Driver 연결하기 [1]
한태창
2008-01-11
6203
851Q.ESQLX 컴파일할 때 문제가 생기네요. [1]
ST
2008-01-10
4416
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다