首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MFC中的CDatabase连接到oracle服务器

使用MFC中的CDatabase连接到oracle服务器
EN

Stack Overflow用户
提问于 2017-11-13 21:47:39
回答 1查看 508关注 0票数 0

我尝试连接到oracle数据库,其中的服务器安装在我的笔记本电脑上,并在端口1521上运行,名称为"orcl“。首先,我使用Java和jdbc进行连接,代码如下:

代码语言:javascript
复制
private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USERNAME = "cosmin";
private static final String PASSWORD = "123456";
private static Connection conn;
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);

现在,我尝试使用MFC和CDatabase类进行连接,但我无法连接。

代码语言:javascript
复制
    CDatabase db;
    TRY{
        db.OpenEx(L"ODBC;DRIVER={MICROSOFT ODBC FOR ORACLE};DSN=orcl;SERVER=@localhost:1521:orcl;UID=cosmin; PWD=123456");

        db.Close();
    } CATCH(CDBException, e) {
        AfxMessageBox(L"Database error: " + e->m_strError);
    }

我收到下一个错误:未找到数据源名称且未指定默认驱动程序。如何解决此问题?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-11-14 00:06:37

如果你要给我们一个data source name的话。Here是如何使用该工具的。

如果你想在你的程序中添加这个名字:

代码语言:javascript
复制
BOOL ret= SQLConfigDataSource(
    NULL,
    ODBC_ADD_DSN,
    (LPSTR) "Microsoft Access Driver (*.mdb)\0",
    (LPSTR) "DSN=MS Access Database\0"
    "Description=MS Access Database\0"
    );
if( ! ret )
{
    AfxMessageBox( _T("The 'Data Source Name' failed to install\nPlease call Tech Support\n800-123-4567") );
    return FALSE;
}

另一方面,(我还没有尝试过),您应该能够使用DSN-less connection字符串。但这意味着你不能DSN=orcl;,因为没有这样的DSN。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47265833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档