新手提问:1、我都是用Windows 身份验证连接的,现在需要以sa和密码连接,请问各位该怎么样去设置,需要命令吗?
          2、我想用Visual c++连接数据库,具体该怎么做?

解决方案 »

  1.   

    用系统存储过程:exec sp_password null,'新密码','sa'这里的空代替你的sa帐户的就密码.
      

  2.   


    用Windows 身份验证登录
    右击实例名
    属性
    安全性
    在服务器身份验证一栏选择"SQL SERVER 和 WINDOWS 身份验证"
      

  3.   

    用代码的方式参考如下:
    sp_password 为 Microsoft SQL Server 登录名添加或更改密码。
    后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并应着手修改当前还在使用该功能的应用程序。 请改用ALTER LOGIN。 示例
    A. 在旧密码未知时更改登录名的密码
    以下示例显示如何使用 ALTER LOGIN 将登录名 Victoria 的密码更改为 B3r1000d#2-36。这是首选方法。执行此命令的用户必须具有 CONTROL SERVER 权限。ALTER LOGIN Victoria WITH PASSWORD = 'B3r1000d#2-36';
    GO
     B.更改密码
    以下示例显示如何使用 ALTER LOGIN 将登录名 Victoria 的密码由 B3r1000d#2-36 更改为 V1cteAmanti55imE。这是首选方法。用户 Victoria 无需其他权限即可执行此命令。其他用户则需要 ALTER ANY LOGIN 权限。 ALTER LOGIN Victoria WITH 
         PASSWORD = 'V1cteAmanti55imE' 
         OLD_PASSWORD = 'B3r1000d#2-36';
    GO
     
      

  4.   

    这是VC++ 6.0连接SQL的例,参考一下:你先编一个文件,名叫ODBCTest.c 在VC++6.0中新建一个Win32 Console Application的项目,并将项目命名为ODBCTest. 
    然后,将已经写好的ODBCTest.c文件加入到该项目的Source Files中,编译并且执行.执行完成后,SQL Server中Student表的数据即为Kingbase中Student表的数据备份. 
    实验源代码.以下源码,给出了一些注释,供参考. 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #define SNO_LEN 30 
    #define NAME_LEN 50 
    #define DEPART_LEN 100 
    #define SSEX_LEN 5 
    int main() 

    /* Step 1 定义句柄和变量 */ 
    //以king开头的表示的是连接KINGBASEES的变量 
    //以server开头的表示的是连接SQLSERVER的变量 
    SQLHENV kinghenv, serverhenv; //环境句柄 
    SQLHDBC kinghdbc,serverhdbc; //连接句柄 
    SQLHSTMT kinghstmt,serverhstmt; //语句句柄 
    SQLRETURN ret; 
    SQLCHAR sName[NAME_LEN], sDepart[DEPART_LEN],sSex[SSEX_LEN],sSno[SNO_LEN]; 
    SQLINTEGER sAge; 
    SQLINTEGER cbAge = 0, cbSno = SQL_NTS, cbSex = SQL_NTS,cbName = SQL_NTS,cbDepart = SQL_NTS; 
    /* Step 2 初始化环境 */ 
    ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &kinghenv); 
    ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &serverhenv); 
    ret = SQLSetEnvAttr(kinghenv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); 
    ret = SQLSetEnvAttr(serverhenv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); 
    /* Step 3 :建立连接 */ 
    ret = SQLAllocHandle(SQL_HANDLE_DBC, kinghenv, &kinghdbc); 
    ret = SQLAllocHandle(SQL_HANDLE_DBC, serverhenv, &serverhdbc); 
    ret = SQLConnect(kinghdbc, 
    "KingbaseES ODBC",SQL_NTS, 
    "SYSTEM",SQL_NTS, 
    "MANAGER",SQL_NTS); 
    if (!SQL_SUCCEEDED(ret)) //连接失败时返回错误值 
    return -1; 
    ret = SQLConnect(serverhdbc, 
    "SQLServer",SQL_NTS, 
    "sa",SQL_NTS, 
    "sa",SQL_NTS); 
    if (!SQL_SUCCEEDED(ret)) //连接失败时返回错误值 
    return -1; 
    /* Step 4 :初始化语句句柄 */ 
    ret = SQLAllocHandle(SQL_HANDLE_STMT, kinghdbc, &kinghstmt); 
    ret = SQLSetStmtAttr(kinghstmt,SQL_ATTR_ROW_BIND_TYPE,(SQLPOINTER)SQL_BIND_BY_COLUMN,SQL_IS_INTEGER ); ret = SQLAllocHandle(SQL_HANDLE_STMT, serverhdbc, &serverhstmt); 
    /* Step 5 :两种方式执行语句 */ /* 预编译带有参数的语句 */ 
    ret = SQLPrepare(serverhstmt,"INSERT INTO STUDENT (SNO,SNAME,SSEX,SAGE,SDEPT) VALUES ( , , , , )", SQL_NTS); 
    if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) 

    ret = SQLBindParameter(serverhstmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR,SQL_CHAR, SNO_LEN, 0, sSno, 0, &cbSno); 
    ret = SQLBindParameter(serverhstmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR,SQL_CHAR, NAME_LEN, 0, sName, 0, &cbName); 
    ret = SQLBindParameter(serverhstmt, 3, SQL_PARAM_INPUT, SQL_C_CHAR,SQL_CHAR, 2, 0, sSex, 0, &cbSex); 
    ret = SQLBindParameter(serverhstmt, 4, SQL_PARAM_INPUT, SQL_C_LONG,SQL_INTEGER, 0, 0, &sAge, 0, &cbAge); 
    ret = SQLBindParameter(serverhstmt, 5, SQL_PARAM_INPUT, SQL_C_CHAR,SQL_CHAR, DEPART_LEN, 0, sDepart, 0, &cbDepart); 
    } /*执行SQL语句*/ 
    ret = SQLExecDirect(kinghstmt,"SELECT * FROM STUDENT",SQL_NTS); 
    if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO) 

    ret = SQLBindCol(kinghstmt, 1, SQL_C_CHAR,sSno,SNO_LEN, &cbSno); 
    ret = SQLBindCol(kinghstmt, 2, SQL_C_CHAR, sName, NAME_LEN, &cbName); 
    ret = SQLBindCol(kinghstmt, 3, SQL_C_CHAR, sSex, SSEX_LEN, &cbSex); 
    ret = SQLBindCol(kinghstmt, 4, SQL_C_LONG, &sAge, 0, &cbAge); 
    ret = SQLBindCol(kinghstmt, 5, SQL_C_CHAR, sDepart, DEPART_LEN, &cbDepart); 
      

  5.   

    这行命令已经成功执行,但是我试着用sa登陆时还是不行, 
    出现错误信息:用户'sa'登陆失败,该用户与可信SQL Server连接无关联!
    请问怎么解决?
      

  6.   

    更改登录用户验证方式
    (爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)  2008-03-03  广东深圳)    登录用户的验证方式一般是在 SQL Server 2005 安装时被确定的。如果需要改变登录用
    户的验证方式,只可以通过 SQL Server Configuration Manager 改变服务器的验证方式。改
    变登录用户的验证方式的步骤如下:1、通过"开始"/"程序"/"Microsoft SQL Server 2005"/"SQL Server Management Studio"菜单
    打开SQL Server Management Studio 工具。2、通过"连接到服务器"对话框连接到需要改变登录用户验证方式的 SQL Server 2005 服务器。3、连接正确后,SQL Server Management Studio 中的"对象资源管理器"版面将出现连接的服务
    器。选中这个服务器,单击鼠标右键,选择"属性"菜单命令。4、选择"服务器属性"对话框中的"选择页"版面内的"安全性"页面。5、在"服务器身份验证"框架内,重新选择登录用户的验证方式。选择完成后单击"确定"按钮,
    这时会弹出"SQL Server Management Studio"提示框,提示重新启动 SQL Server后做作的更改
    才会生效。6、单击"SQL Server Management Studio"提示框中的"确定"按钮,重新启动 SQL Server,即可
    更改登录用户的验证方式。
      

  7.   

    如何用SQL语句实现将SQL SERVER 2005的身份验证模式设为混合模式这个问题如果要在程序中操作,必须修改注册表里面的值,  
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]  
      "LoginMode"=dword:00000002  
      这个LOGINMODE    
      取1为WINDOWS  
      取2为混合模式  
      然后还要让服务重新启动才可以生效