相同的IP,不同的端口号能配置多个数据源吗

chogimoga 2010-05-19 11:52:29
现在又一个Ip 有两个端口1433 1434上有不同的数据库,我现在需要配置两个数据源,但是端口号每次改了其中一个,另一个已配置就自动改了,郁闷,有什么好办法吗
...全文
311 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyq5945 2010-05-31
  • 打赏
  • 举报
回复
结贴提醒

如果您的问题已经得到解决,请您早日结贴,如四日后未结贴,该贴将做强制结贴处理。
如果您的问题尚未得到解决,请回复方便其他网友知道你仍关注该问题。如四日后没有其他网友和楼主本人回复,该贴将做强制结贴处理。
如果贴子只有楼主和强制结贴的版主本人回复,将按无满意结帖处理。

注:强制结贴版主本人将不会分配答题分
zyq5945 2010-05-19
  • 打赏
  • 举报
回复
什么方式访问数据库,ODBC?!
换成ADO吧,挺简单的。就是把字符串修改下就行了。
http://topic.csdn.net/u/20100429/11/a1a68cd2-d942-4f6b-b387-69a130ec5888.html
chogimoga 2010-05-19
  • 打赏
  • 举报
回复
to xianglitian : 我的连接还是连不上

给大家共享个霸主级别的 连接字符串写法

http://www.connectionstrings.com/sql-server

向立天 2010-05-19
  • 打赏
  • 举报
回复
_bstr_t strConnect="Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=KuanGou;Data Source=192.168.2.64, 1044";
chogimoga 2010-05-19
  • 打赏
  • 举报
回复
算了,不用ODBC了,放弃,用ADO


BOOL CADODataBase::SetConnectStr( const std::string& sDataSource, const std::string& sUserId, const std::string& sPassWord )
{
// 初始化COM,创建ADO连接等操作
AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));
try
{
_bstr_t strConnect="Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=KuanGou;Data Source=192.168.2.64";
m_pConnection->Open(strConnect,sUserId.c_str(),sPassWord.c_str(),adModeUnknown);
}
catch (_com_error&e)
{
AfxMessageBox(e.ErrorMessage());
return FALSE;
}
return TRUE;
}


上述数据源除了IP还带端口号 怎么写?
chogimoga 2010-05-19
  • 打赏
  • 举报
回复

void CDataBaseOper::SetConnectStr( const std::string& sDataSource, const std::string& sUserId, const std::string& sPassWord )
{
m_ConnectStr = "DSN=" ;
m_ConnectStr += sDataSource ;
m_ConnectStr += ";UID=" ;
m_ConnectStr += sUserId ;
m_ConnectStr += ";PWD=" ;
m_ConnectStr += sPassWord ;
}



if( m_db.IsOpen()==FALSE )
{
try
{
m_db.OpenEx( m_ConnectStr.c_str(),CDatabase::noOdbcDialog|CDatabase::openReadOnly );
}
catch (CException*e)
{
e->ReportError();
e->Delete();
return false;
}
}

CRecordset rec( &m_db ) ;
try
{
rec.Open( CRecordset::forwardOnly , m_Sql.c_str() , CRecordset::readOnly ) ;
}
catch (CException*e)
{
e->ReportError();
e->Delete();
return false;
}

我现在使用的是ODBC连接数据库, 连接sql2005和Oracle数据库,sql2005上面有连个数据库,只是开放的端口不一样,一个1043,一个1044, 我准备配置两个DSN,分别指向这两个端口,问题来了,两个DSN的ip是一样的,我配置好了第一个DSN端口为1043测试连接成功,再配置第二个DSN端口为1044测试成功,回过头来发现第一个已经配置好了的DSN端口变成了1044, ? 这是个问题啊,不能解决
向立天 2010-05-19
  • 打赏
  • 举报
回复
你说的就是ado的远程连接字符串吧
应该是可以的

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧