请问:
    我连接数据库时用system连接: conn system/sys@test 可以连接
    但是我要用sys连接不成功 ?后来明白sys必须要sysdba 身份连接:conn sys/sys@test as sysdba
    这是在命令行下直接输入命令连接,但是我现在用程序连接,conn system/sys@test的连接字符串我弄好了。
但是不能用sys去连,请问如何修改 : m_pConn->Open((_bstr_t)m_sConn,(_bstr_t)"",(_bstr_t)"",adConnectUnspecified);
m_pConn:数据库连接智能指针,m_sConn: 连接字符串("Provider=OraOLEDB.Oracle.1;User ID=system;Password=sys;Persist Security Info=True;Data Source=test")
    谢谢 指点!
    

解决方案 »

  1.   

    似乎不支持sys用户连接(ado方式)
      

  2.   


    请问toad 或者sqlplus里面是怎么实现的?它们都能连接?我始终不明白
      

  3.   

    这两者底层都是调用OCI来实现的。但是ADO/ADO.NET,Oracle并不一定提供完全支持,这也可能是出于安全的需要。最新版的jdbc for 11g似乎支持sys用户连接。
      

  4.   


    意思是我就不能vc下用ADO 以sys帐户连接了?但是我查了oracle的资料说用c#按下面字符串ADO连接可以实现的: "Provider=OraOLEDB.Oracle.1; Password=sys; Persist Security Info=True;User ID=sys;DBA Privilege=SYSDBA;Data Source=mytest"(这个我尝试过了system可以但是sys还是不行的)。可以帮忙看看么?谢谢指点。
      

  5.   

    你说你用了system可以,但是sys不行,对吗?但是system用户只能用normal身份登陆,你重新授权了?
      

  6.   


    没有单独授权啊!我数据库创建完成就是这样子,没有单独去授予权限的。我的连接字串已经在上面写出来了。就是不明白如何sys用户的连接字串如何写?