各位大侠我的问题是这样的:
vs2005在连接Oracle11g时出现下列错误
Error Code:
ORA-24960
createConnection()连接不到数据库!
哪位大侠能解答一下:
int CDataBaseOracle::DataBaseInit()
{
    Environment *env;
    Connection *conn;
    Statement *stmt;
    
    char username[80]   = "system";
    char password[80]   = "system";
char connstring[80]  = "//172.22.141.205:1158/orcl";    string sql;  try {
        env = Environment::createEnvironment();//创建环境变量 
        conn = env->createConnection(username,password,connstring); //连接数据库
        stmt = conn->createStatement(); //对数据库操作的具体实现
        stmt->setAutoCommit(false);
//boolean autocommit = stmt->getAutoCommit();        sql = "Create table IEC(ResourceID RAW(64),\
     basePower NUMBER(10),\
     BaseVoltage VARCHAR2(30))";
        
        stmt->setSQL(sql); 
        stmt->executeUpdate(); cout<<"set success"<<endl; conn->commit();

    } 
catch (SQLException ex)
{
int error = ex.getErrorCode();        cout<<"Error code:"<<error<<endl; conn->rollback();
return -1;
    }
    return 0;
}

解决方案 »

  1.   


    ORA-24960:  属性  OCI_ATTR_USERNAME  的长度大于最大允许长度  255  
    10.1.0.5版本的10g的instantclient sdk才有支持vc6的库(10.2.0.3以后就没有了),用这个替换10.2.0.3的库,编译完成,再将instantclient里面的oci.dll及vc6
    下面的oraocci10.dll放到执行文件 ......
    还有 有人说把VC6换成VC7就能解决问题。
      

  2.   

    http://linbren.blog.163.com/blog/static/5568030820089196560641/