我下了您网站上的开发包做一些技术验证测试
supermap-iobjectscpp-11.0.0-21113-95737-win-all
我的数据库是postgresql, 数据为yukon. 我想通过OGDC访问数据库. 很遗憾, 例子里只有访问本地文件的. 只能根据注释写了连接网络数据库的代码.
片段如下:
if (!mgr->LoadProvider(_T("SuEngineYukond.sdx")))
{
throw exception("加载OGCD驱动失败...");
}
auto_ptr<OgdcDataSource> pSouce(mgr->CreateOgdcDataSource(OGDC::oeNone)); // OgdcEngineType里没有postgresql的类型怎么办?
if (pSouce.get() == NULL)
{
throw exception("创建数据源失败");
}
wcout << _T("初始化数据源成功...") << endl;
pSouce->m_nEngineClass = 1; // 1 - 网络数据库
pSouce->m_connection.m_nType = -1;
pSouce->m_connection.m_strServer = _T("192.168.0.100");
pSouce->m_connection.m_nPort = 5432;
pSouce->m_connection.m_strUser = _T("test");
pSouce->m_connection.m_strPassword = _T("testpsw");
pSouce->m_connection.m_strDatabase = _T("test");
pSouce->m_connection.m_strDriver = _T("org.postgresql.Driver");
pSouce->m_connection.m_bEncrypt = true;
if (!((OgdcDataSource*)pSouce.get())->Open())
{
throw exception("打开数据库失败!"); // 总是失败
}
还请管理员帮问问技术人员, 能否给点提示或者例子, 谢谢!