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

时间:2017-11-13 13:47:39

标签: c++ oracle mfc cdatabase

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

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类但我无法连接。

    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);
    }

我收到下一个错误:找不到数据源名称,也没有指定默认驱动程序。我该如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您要找我们japHere是如何使用该工具的。

如果您想在程序中添加名称:

data source name

另一方面,(我还没试过),你应该可以使用DSN-less connection字符串。但这意味着你不能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。