我尝试连接到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);
}我收到下一个错误:未找到数据源名称且未指定默认驱动程序。如何解决此问题?
谢谢!
发布于 2017-11-14 00:06:37
如果你要给我们一个data source name的话。Here是如何使用该工具的。
如果你想在你的程序中添加这个名字:
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。
https://stackoverflow.com/questions/47265833
复制相似问题