winxp sp2
oracle 10g client / 10.0.1.0
vc2k3.net大概的代码,编译没有问题,顺利通过
int main()
{
    ....
    Environment *penv = Environment::createEnvironment(Environment::THREADED_MUTEXED);
    Connection *pcon = penv->createConnection("123", "123", "ora");    ....    return 0;
}上面的用户名/密码/数据库名,通过oracle客户端连接没有问题。
执行时,在执行到createConnection时,跳出异常,说0X....位置不能访问,其中一般这个地址是固定的。不知道有没有哪位遇见过这种问题?先谢过 。

解决方案 »

  1.   

    createConnection这个方法有问题
    把这个方法的代码贴出来啊
      

  2.   

    这个是occi中定义的方法;已经在oracle的论坛中找到答案了. 谢过各位.
      

  3.   

    答案是occi和vs2k3.net有冲突,因为两者定义的std::string有差别, 导致上述问题.解决办法是把createConnection在vc6中编译封装成dll, 在vs2k3中调用...
      

  4.   

    这就奇怪了,我从来都是在VS2003.net下使用OCCI,怎么没你说的问题啊!
    问题我倒是遇到过,但和你的表现不一样,解决办法就是用多线程方式编译(新建的控制台程序默认是按单线程编译的)。
      

  5.   

    这么纠结的办法啊那我不用string 行不行呢?
      

  6.   

    很想知道createConnection()里的这三个参数是不是分别是:数据库名、数据库密码、包含给数据的数据源(dsn)?为什么我老是提示:connect to database failed: ORA-12154: TNS:could not resolve the connect identifier specified