zyzlamborghini 2014-02-19 13:26 采纳率: 0%
浏览 907

c++利用ADO如何通过Internet网访问SQL Server数据库?

c++利用ADO如何通过Internet网访问SQL Server数据库?需要对电脑设置哪些关键的项。
我的代码:
bstr_t strConnect = “Driver={SQL Server};Server=10.0.0.44;Database=test;UID=sa;PWD=111111”
//_bstr_t strConnect =
"Provider=SQLOLEDB.1;Password=111111;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=10.0.0.44";
void OnInitADOConn(_bstr_t strConnect)
{
::CoInitialize(NULL);
try
{
//对象实例化
m_pConnect.CreateInstance(
_uuidof(Connection));
m_pConnect->Open(strConnect,"","",adModeUnknown); //建立链接
MessageBox(NULL,"链接成功!","提示",0);

}
catch(_com_error e)
{
    MessageBox(NULL,e.Description(),"error",0);
}

}
这个只能在局域网中链接上。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-01 18:54
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要使用ADO(ActiveX Data Objects)连接到Internet上的SQL Server数据库,您首先需要配置您的应用程序以允许ADO连接到网络上的数据库。以下是如何实现这一目标的方法:

    1. 配置防火墙:确保您的防火墙允许ADO连接到指定的IP地址和端口。
    2. 安装OLE DB Provider for SQL Server: 如果您还没有安装此ODBC驱动程序,请从Microsoft网站下载并安装它。这将使您的应用能够与SQL Server进行交互。
    3. 添加SQL Server服务器信息:在您的ADO代码中,您可以添加SQL Server服务器的信息,如下所示:
    ::CoInitialize(NULL);
    
    try {
        // 为ADO连接创建一个新的对象实例
        m_pConnect.CreateInstance("SQL Server OLE DB Provider, Version=7.50.1, Culture=neutral, PublicKeyToken=89d62e75006b0906");
    
        // 设置连接参数
        m_pConnect->SetParameter(0, _variant_create_string("DRIVER={SQL Server};SERVER=yourserver.com;DATABASE=test;UID=sa;PWD=111111"), _variant_null);
    
        // 打开连接
        m_pConnect->Open();
    } catch (_com_error &e) {
        // 处理连接失败的情况
        std::cout << "Error connecting to the database: " << e.ErrorMessage() << std::endl;
    }
    

    请将yourserver.com替换为您实际的服务器名称。

    请注意,上述代码示例仅用于演示目的,并不包含任何错误处理或验证功能。在生产环境中,您应确保在连接时正确地处理所有可能的异常情况。

    此外,为了提高安全性,您可能还需要考虑加密传输、身份验证和权限管理等方面的问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 防火墙的混合模式配置
  • ¥15 Ubuntu不小心注销了要怎么恢复啊
  • ¥15 安装powerbuilder10卡在安装程序正在运行这个页面 没有下一步任何指令
  • ¥15 关于mpi的问题:请问遇到这种情况需要怎么解决,出现这个问题后电脑不能进行mpi多核运行只能进行单核运行
  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题