내 테이블과 로컬 C++ 객체를 패리티 시키려면 Oracle에 새 TYPE을 생성했습니다 (C++ 용 OCCI 인터페이스를 사용하고 있습니다). 코드에서 ORA-00947 : 오라클에 객체를 생성 할 때 값이 충분하지 않습니다.
내가void insertRowInTable()
{
string sqlStmt = "INSERT INTO MY_TABLE_T VALUES (:x)";
try{
stmt = con->createStatement (sqlStmt);
ObjectDefinition *o = new ObjectDefinition();
o->setA(0);
o->setB(1);
o->setC(2);
stmt->setObject (1, o);
stmt->executeUpdate();
cout << "Insert - Success" << endl;
delete (o);
}catch(SQLException ex)
{
//exception code
}
코드는 컴파일
사용, DB에 연결하지만
예외를 insertRow 오류 번호를 던진 다음과 같은 예외가 발생합니다 : 947 ORA-00947 : 값 충분하지
"sqlStmt"에 문제가 있습니까? 구문이나 바인딩에 문제가 있습니까? 물론
나는 설정을 이미
env = Environment::createEnvironment (Environment::OBJECT);
occiobjm (env);
con = env->createConnection (user, passwd, db);
'명령문'이란 무엇입니까? 'MyObject' 또는 변수'o'가 문제와 관련이 있습니까? [Minimal, Complete, Verifiable Example] (http://stackoverflow.com/help/mcve)을 만들어보십시오. –
코드를 추가했습니다. ObjectDefinition은 OTT에 의해 만들어지며 테이블에 직렬화 된 객체를 저장하려고합니다. – cateof