游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3542|回复: 6

求助,ADO连接SQL数据库的问题?

[复制链接]

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
发表于 2009-5-7 17:04:00 | 显示全部楼层 |阅读模式
MFC ADO SQL
// 初始化—连接数据库
void  ADOConn::OnInitADOConn()
{
        // 初始化OLE/COM库环境
        ::CoInitialize(NULL);
  
        try
        {
                // 创建Connection对象
                m_pConnection.CreateInstance("ADODB.Connection");
                // 设置连接字符串,必须是BSTR型或者_bstr_t类型
                // Data Source表示服务器地址、Initial Catalog 表示数据库名称、user id表示用户名,如果设置了密码,则需要设置password=密码
                _bstr_t strConnect = &quotrovider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=" ";Initial Catalog=HR;Data Source=(local)";//127.0.0.1
                m_pConnection->Open(strConnect,"","",adModeUnknown);
        }
        // 捕捉异常
        catch(_com_error e)
        {
                // 显示错误信息
                AfxMessageBox(e.Description());
        }
}

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
 楼主| 发表于 2009-5-7 17:07:00 | 显示全部楼层

Re: 求助,ADO连接SQL数据库的问题?

出错,什么原因?(网上查了很多,无效):

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2009-5-9 11:30:00 | 显示全部楼层

Re:求助,ADO连接SQL数据库的问题?

报什么错误?
SQL Server 2000要打SP3,才能远程连接上。

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
 楼主| 发表于 2009-5-10 14:55:00 | 显示全部楼层

Re:求助,ADO连接SQL数据库的问题?

一台机器即作服务器又作客户机,软件连接中出现:
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server不存在或拒绝访问

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2009-5-16 17:41:00 | 显示全部楼层

Re:求助,ADO连接SQL数据库的问题?

这是我写的  成功连接了
1.导入ADO动态链接库,在stdafx.h中加入:
   #import "C:\program files\common files\system\ado\msado15.dll"        no_namespace rename("EOF","adoEOF")
2.在InitInstance()中加入:
           if (!AfxOleInit())
        {
          AfxMessageBox("初始化OLE DLL 失败");
          return FALSE;
        }
   来初始化OLE/COM库环境。
3.OLE DB提供者实现对SQL Sever的标准安全连接串:
   CString strConnect;
   strConnect=_T(&quotrovider=sqloledb;Data Source=file;"
                 "Initial Catalog=file;"
                 "User ID=MyUserName;Password=Mypassword;");
strSQL=_T("Provider=sqloledb;Data Source=PC-200901101031;Initial Catalog=hackfile;Integrated Security=SSPI;User ID=bolong;Password=101110");
    或strSQL=_T("driver={sql server};server=192.168.177.80;database=hackfile;uid=bolong;pwd=101110");
   远程连接:
4.打开结果集
BOOL CInternetBarApp::OpenRecordSet(_RecordsetPtr &recPtr,CString &strSQL)
{
    CInternetBarApp* pApp=(CInternetBarApp*)AfxGetApp();
    m_pRecordset.CreateInstance(_uuidof(Recordset));
        try
    {
         recPtr->Open(strSQL.AllocSysString(),m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
        }
        catch(_com_error e)
        {
         CString strError;
         strError.Format("警告:打开数据库表时发生异常。错误信息:%s",e.ErrorMessage());
         AfxMessageBox(strError);
         return FALSE;
        }
        return TRUE;
}

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2009-5-18 13:39:00 | 显示全部楼层

Re:求助,ADO连接SQL数据库的问题?

这种错误大概是因为三种情况造成的:
1 防火墙拦截了
2 默认端口被改掉了
3 没打SP3补丁(最新的是SP4)

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
 楼主| 发表于 2009-6-9 16:26:00 | 显示全部楼层

Re:求助,ADO连接SQL数据库的问题?

原来没打SQL SERVER SP4补丁.
谢谢funcman
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 01:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表