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. 算法笔记_094:蓝桥杯练习 矩阵相乘(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容. 当然,小明上课打瞌睡也没问题,但线性 ...

  2. webDriver API——第15部分Expected conditions Support

    class selenium.webdriver.support.expected_conditions.alert_is_present Bases: object Expect an alert ...

  3. 最长公共子序列(LCS)问题 Longest Common Subsequence 与最长公告字串 longest common substr

    问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X=“x0,x1,…,xm-1”,序列Y=“y0,y1,…,yk ...

  4. Oracle,用left join 替代 exists ,not exists,in , not in,提高效率

    Not IN问题 Exists,not Exists,in,not in 例如: FROM YSHB B WHERE YSHA.code=b.code ) 等同于 DELETE A FROM YSHA ...

  5. unity3d控制模型的运动

    这里就不多做解释了,直接上代码,只为了备忘. public class HeroMove : MonoBehaviour { private float speed;//人物行动速度 private ...

  6. FreeSWITCH技巧:notify与message-waiting

    FreeSWITCH技巧:notify与message-waiting @(Freeswitch经验点滴) 现象描述 在客户端登陆抓包时,发现了FreeSWITCH发来的包: NOTIFY sip:9 ...

  7. Java并发编程(八):线程调度——线程池

    new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { / ...

  8. FPGA学习(第8节)-Verilog设计电路的时序要点及时序仿真

    一个电路能跑到多少M的时钟呢? 这和电路的设计有密切联系(组合逻辑的延时),我们知道电路器件都是由一定延迟的,所以信号的仿真很重要.如果延迟时间大于时钟,就会导致时序违例,出现逻辑错误. 项目要求30 ...

  9. POJ 2409 Let it Bead(Polya简单应用)

    Let it Bead 大意:给你m种颜色,n个珠子串起来.旋转跟反转同样算同样,问有多少种不同的涂色组合方式. 思路:Polya的简单应用. /*************************** ...

  10. BZOJ 3000(Big Number-Stirling公式求n!近似值)

    3000: Big Number Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 220  Solved: 62 [Submit][Status] De ...