数据库为SQL,
windows身份验证模式
pConn->ConnectionString =  _T("Provider=sqloledb;\
 
                              Data  Source=PC2009100115WZZ\\SQLEXPRESS;\
                              Initial   Catalog=管理系统 \
   User   Id="";\
   Password="" ");
pConn->Open(L"",L"",L"",adConnectUnspecified);
调试的时候是这个地方出现问题。
请问:
1、用户名和密码是空么?这个是我在网上搜到的一个说法,不是的话应该怎么写?
2、改为混合模式,使用sa账户登录失败(在windows身份验证模式登录后启用并授权),这是怎么回事?谢谢!

解决方案 »

  1.   

    我用的是pConn->ConnectionString =_T("Provider=SQLOLEDB.1; Data Source=PC2009100115WZZ\\SQLEXPRESS; Initial Catalog=管理系统; User ID=***; PWD=**");
    最好是在数据库中新建一个用户名和密码。希望对你有所帮助!
      

  2.   

    新建用户名和密码,和启用sa一样都会出现错误。错误如下:标题: 连接到服务器
    ------------------------------无法连接到 PC2009100115WZZ\SQLEXPRESS。------------------------------
    其他信息:已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。) (Microsoft SQL Server,错误: 233)有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=233&LinkId=20476
      

  3.   

    问题一、忘记了登录Microsoft SQL Server 2005 的sa的登录密码解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,修改密码点击确定就可以了。问题二、已成功与服务器建立连接,但是在登录过程中发生错取。(provider:共享内存提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233)解决方法:打开‘程序’-‘所有程序’-‘Microsoft SQL Server 2005 ’-‘配置工具’-‘SQL Server 配置管理器’,在弹出的窗体中,找到‘SQL Server 2005 网络配置’,把‘MSSQLSERVER的协议’下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server 2005就可以了。问题三、无法打开用户默认数据库。登录失败。用户‘sa’登录失败。(Microsoft SQL Server, 错误:4064)解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,将默认数据库设置成master,点击确定就可以了。这三种方法都试过了,还是不行啊,郁闷
      

  4.   

    1、和360冲突,把260关掉就能使用sa登录名或新建登录名了
    2、加入异常处理机制得出如下错误:Idispatch #3105 error 
    查到的解释如下:
    在数据库中有些字段是字符串类型,允许为NULL,但是长度不允许为空.如果当数据为NULL的时候读取了数据,但是未经处理又需要插入的时候,可能会变成长度为空的字符串,这时进行插入或者更新时就会报#3105错误.
     解决办法:声明_variant_t 类型,将其类型值设为 VT_NULL,然后用PutCollect放到RecordSet 里面就好了:
     _variant_t myValue;
     myValue.vt = VT_NULL;
     m_pRecordset->PutCollect("FieldName1",myValue);
     m_pRecordset->Update();   所以这类问题一般都是类型不符或者格式匹配。同时谢谢ppkele的帮助。