我现在在本地使用SQLAPI++连接ORACLE数据库,系统是windows server 2003 X64,我也已经把oci.dll, sqlapi.dll,SQLAPI.h, sqlapi.lib拷到了VS的工程目录下,其中我的连接部分代码是:int Oracle::getConnection()
{
    try
    {       
        con.Connect("orcl", "SYSTEM", "admin", SA_Oracle_Client);
        if (con.isConnected())
        {
            std::cout<<"Connected"<<std::endl;
        }
    }
    catch(SAException &x)
    {
        try
        {
            con.Rollback();
        }
        catch(SAException &)
        {
        }
        std::cout<<"error:"<<x.ErrText()<<std::endl;
    }    return 0;
}但是我做测试的时候,明显没有连接上,抛出异常:100550F8,我的oracle连接正常,用sql plus都可以连接通的,我不知道是不是SQLAPI++不能用在64位系统下?
麻烦了,谢谢各位。

解决方案 »

  1.   

    看看你64位系统下的oci.dll是不是64位的版本,如果是64位版本,你这个SQLAPI++估计运行不起来。
    应该是跟64位有关。
      

  2.   

    我的系统程序都是在X64下跑的,因为程序需要大量内存,32位不行,有没有合适的开发库呢?OTL和SQLAPI哪个好,OTL是否支持64位呢?谢谢
      

  3.   

    OTL是开源的,你在64位编译即可。
    或者直接使用OCI编程。
      

  4.   

    请问您那有oracle c++编程的参考资料么,或者如何使用otl,我看它的官方文档不是很懂的样子......
      

  5.   

    都是说64的问题
    这么多的问题,oracle就没个吱声的啊