ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a)

代码如下:执行Open过程中出现异常,信息为Unknown error 0x800a0e7a

 C++ Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
try
{
    strConnect = L"Provider=ORAOLEDB.ORACLE.1;Password=" + 
                user_password + 
                L";User ID=" + 
                user_name + 
                L";Data Source=" + 
                server_ip + 
                L"/" + 
                oracle_dbname + 
                L";Unicode=True;Persist Security Info=True";
    m_pConn->ConnectionTimeout = connect_timeout;
    HRESULT Ret = m_pConn->Open((_bstr_t)strConnect.c_str(), user_name.c_str(), user_password.c_str(), adModeUnknown);
    if (Ret != S_OK)
    {
        DEBUG_TRACE_ERROR(WSTR("CKmObjectDataSourceORCL_KmServerConnect_1,EER:ORACLE(%s)连接失败.,%s:%d"), 
                        connectstr_temp.c_str(), 
                        __WFUNCTION__, 
                        __LINE__);
        ;
    }
}
catch(_com_error e)
{
    std::wstring result_unicode = (wchar_t *)e.ErrorMessage();
    DEBUG_TRACE_ERROR(WSTR("CKmObjectDataSourceORCL_KmServerConnect_0,EER:ORACLE(%s)连接异常(%s).,%s:%d"), 
                    connectstr_temp.c_str(), 
                    result_unicode.c_str(), 
                    __WFUNCTION__, 
                    __LINE__);
    ;
}

解决方法

OLEDB连接Oracle分为两种方式,即分别微软和Oracle写的不同的驱动。
provider=MSDAORA.1是微软写的驱动
provider=OraOLEDB.Oracle是Oracle自带的驱动(可能缺失!)

安装ODTwithODAC(下载),即Oracle Data Access Components,用于访问Oracle的组件。

参考http://www.cnblogs.com/SharkBin/archive/2013/08/29/3289554.html

ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a)的更多相关文章

  1. 使用OleDB组件连接和访问Oracle数据库

    访问 Oracle 数据库的步骤 .在 Oracle 中,创建一个名为 TestTable 的表,如下所示: Create Table TestTable (c1 )); .将数据插入到 TestTa ...

  2. ADO访问Access数据库错误解决心得随笔

    最近在用ADO访问Access数据库的时候出现了一个奇怪的错误,觉得有必要记录下来,和大家分享一下. 环境 win7 x86系统: VS2012编译器: Office2010: Access2000~ ...

  3. 运行于64操作系统上的C#客户端通过WCF访问Oracle数据库不兼容问题

    运行平台: Windows 7  64位操作系统 运行环境: IIS 7 编程语言:C# 数据库: 32位的Oracle 10g 运行原因:64位操作系统C#客户端程序通过WCF访问ORACLE数据库 ...

  4. 【方法】如何限定IP访问Oracle数据库

    [方法]如何限定IP访问Oracle数据库 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知 ...

  5. WebService访问oracle数据库本地调试

    WebService访问oracle数据库本地调试-一步一个坑 上篇文章提到我们额数据库挂了,重装了数据库,然后呢我需要在本地调试WebService,看看那些数据结构缺失,迁移到新数据库中去.踩坑之 ...

  6. .net(C#)访问Oracle数据库的几种免安装组件的对比

    Oracle 数据存取组件(ODAC) 库为Borland Delphi,C++ Builder 以及 Kylix提供了一些非可视化的组件.它们用来存取Oracle关系数据库系统.与BDE类似, OD ...

  7. ODP.NET 之访问 Oracle 数据库

    ODP.NET 之访问 Oracle 数据库 要相使用 Oracle Data Provider For .NET(ODP.NET), 必须先安装 ODP.NET 或者是 ODAC(Oracle Da ...

  8. 访问Oracle数据库的工具【unfinished】

    ylbtech-Oracle:访问Oracle数据库的工具 访问Oracle数据库的工具 1. SQL*PLUS返回顶部 1.0, 1.0.1, 之network\admin\tnsnames.ora ...

  9. C++使用ocilib访问oracle数据库

    引用: http://blog.csdn.net/u011311985/article/details/51221898 测试程序我放到 http://download.csdn.NET/detail ...

随机推荐

  1. Linux 修改终端显示bash-1.4$

    先取得root权限,然后在终端如下操作[root@host]$su -然后输入密码接着[root@host]#PS1='[\u@\H \W]\$' 你取得root权限后在,在终端命令下输入这个,一定要 ...

  2. mongodb安装的两条命令

    1. 安装 下载并安装,注意安装方式为custom,路径自定义(d:\chengxu\mongodb),安装成功后在mongodb文件夹下新建data文件夹(内新建db文件夹)和logs文件夹(内新建 ...

  3. Swift的String与OC的NSString的区别

    Swift的String类型是值类型.如果你创建了一个新的字符串值,那么当其进行常量.变量赋值操作或在函数/方法中传递时,会进行值拷贝. 在不同的情况下,都会对已有字符串值创建新的副本,并对该新副本进 ...

  4. 解决Win10系统下 C# DateTime 出现星期几的问题 解决ASP.NET MVC 接受Request Playload参数问题

    解决Win10系统下 C# DateTime 出现星期几的问题 昨天晚上写代码的时候偶然发现 DateTime 里出现了星期几,当时一阵凌乱,去网上百度没有详细解决办法,很多人说可以用用 ToStri ...

  5. 《C++编程思想》(第二版)第3章 C++中的C(笔记、习题及答案)(二)

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...

  6. C 语言 ioctl

    /* *@author cody *@date 2014-08-12 *@description */ /* #include <sys/ioctl.h> send control and ...

  7. sqlite-按日期分组,根据日期查询详细内容

    一.按日期分组 String paramString = "select strftime('%Y-%m-%d',"+DBConfig.RUNNING_LOG_DATE+" ...

  8. java强行删除文件(针对进程正在使用的文件的删除)

    boolean result = f.delete(); if(!result)    { System.gc(); f.delete; }

  9. JS高程3:表单脚本

    HTML和CSS对表单的操作还是比较乏力的,在表单操作中,JS势必会使用到. 基础知识 文本框 选择框 序列化 富文本编辑器 基础知识 HTMLFormElement接口可以创建或者修改<for ...

  10. PyCharm Python迁移项目

    把整个项目文件迁移过去后,执行文件会报不能执行XX,系统找不到指定的文件. 此时把当前的这个文件名字改一下,再运行,修改提示的错误.等错误全部修改,可以正常运行后,再把文件名改回去