首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

uid=sa; pwd=123 从哪来的?解决思路

2012-03-27 
uidsa pwd123从哪来的?SQL code_bstr_t strConnect ProviderSQLOLEDBServer(local)Databasestud

uid=sa; pwd=123 从哪来的?

SQL code
_bstr_t strConnect= "Provider=SQLOLEDB;Server=(local);Database=student;uid=sa; pwd=123;";


ERROR:用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。请按任意键继续. .
.

会出现上面错误


我用的是 SQL2005 用windows账户登陆的 ,uid 和 pwd 在哪设置的?

[解决办法]
sa是你的sqlserver的用户,123是密码
[解决办法]
2000 or 2005 ?
[解决办法]
方法一:
企业管理/安全性(security)/选择账号sa属性/更改

方法二:
alter login [sa] with password=N'123'
[解决办法]
1:开启SQL2005远程连接功能 
  配置工具->SQL Server外围应用配置器->服务和连接的外围应用配置器->打开SQLEXPRESS下的DataBase Engine节点,选择远程连接,选择“同时使用TCP/IP和named pipes”,确定后,重启数据库服务。 
  2:登录改为混合模式 
  打开管理器,用windows方式连接进入数据库,右键点击数据服务器-属性,安全性,在“服务器身份验证”下选择“SQL SERVER和windows身份验证模式”,"登录审核"选“失败和成功的登录”确定。 
  3:新建用户和密码,与sql2000类似,不做介绍 
  这样就可以用数据连接字符串进行连接了,比如(server=.\\sqlexpress;uid=sa;pwd=密码;database=数据库名称") 
  如果在用SQLServer模式连接的时候,报错“已成功与服务器建立连接,但是在登录过程中发生错误” 
  展开服务器上的"安全性"->登陆名->选中SA登陆帐号(右键)->状态->登陆修改为启用。

[解决办法]
用户得认证方式是windows还是混合认证?

先改为混合认证
[解决办法]
探讨
无法打开登录所请求的数据库 "student"。登录失败。请按任意键继续. . .

为什么我用sa 的可以,自己新建的就不行?

[解决办法]
不过这是2000的
SQL code
/*--创建一个只允许特定程序使用的数据库用户    创建一个用户,这个用户只有用我们特定的应用程序登录    才具有访问数据库的权限,用其他工具登录没有任何权限    在下面的示例中,演示了如何控制登录l_test    使其登录后只允许访问pubs数据库的titles表    而对jobs表的访问权限,只允许在某些许可的应用程序中访问。--邹建 2004.09(引用请保留此信息)--*/--创建测试环境USE pubs--创建一个登录 l_test, 密码 pwd, 默认数据库 pubsEXEC  sp_addlogin  'l_test','pwd','pubs' --为登录 l_test 在数据库 pubs 中添加安全帐户 u_testEXEC sp_grantdbaccess 'l_test','u_test'--授予安全帐户 u_test 对 titles 表的 SELECT 权限GRANT SELECT ON titles TO u_test--创建一个应用程序角色 r_p_test, 密码 abcEXEC sp_addapprole 'r_p_test','abc'--授予角色 r_p_test 对 jobs 表的 SELECT 权限GRANT SELECT  ON jobs TO r_p_testGO--创建好上面的测试后,现在来测试如何使用应用程序角色--我们把用户及密码告诉使用者,即告诉使用者,用户是: l_test,密码是: pwd--使用者可以用我们这个用户在任何地方登录,包含查询分析器--但是,用户只能访问 titles 表,不能访问其他对象,如果建立用户时不授予它任何权限,则它不访问除guest用户和public角色允许访问外的任何对象--OK,到这里,我们是把用户控制住了--下面我们再来说在程序中的处理,因为用户在程序中登录后,需要对jobs表有访问权限的--我们只需要在用户登录后,执行一句    EXEC sp_setapprole 'r_p_test',{Encrypt N'abc'},'ODBC'--这样,我们登录的用户就转变为 r_p_test 角色的权限,而它自身的权限丢失--只要这个用户不退出应用程序,他的权限就会保持--如果用户退出了当前应用程序,则他的权限自动收回--同时,这个用户即使没有退出应用程序,他也是只在我们的应用程序中有权限,在其他地方登录,也不会有权限--因为这个密码我们是不用给用户的,所以,用户没有这个角色的密码,也就限制了他只能在程序中使用我们的数据--激活应用程序角色 r_p_test 前,登录具有表 titles 的访问权,但无表 jobs 的访问权SELECT titles_count=COUNT(*) FROM titlesSELECT jobs_count=COUNT(*) FROM jobs/*--结果:titles_count ------------ 18(所影响的行数为 1 行)服务器: 消息 229,级别 14,状态 5,行 2拒绝了对对象 'jobs'(数据库 'pubs',所有者 'dbo')的 SELECT 权限。--*/GO--用密码 abc 激活 r_p_test 应用程序角色,并且在将此密码发送到SQL Server之前对其加密EXEC sp_setapprole 'r_p_test',{Encrypt N'abc'},'ODBC'GO--激活应用程序角色 r_p_test 后,登录失去表 titles 的访问权,获取表 jobs 的访问权SELECT titles_count=COUNT(*) FROM titlesSELECT jobs_count=COUNT(*) FROM jobs/*--结果服务器: 消息 229,级别 14,状态 5,行 2拒绝了对对象 'titles'(数据库 'pubs',所有者 'dbo')的 SELECT 权限。jobs_count  ----------- 14(所影响的行数为 1 行)--*/go--删除测试EXEC sp_dropapprole 'r_p_test'EXEC sp_revokedbaccess 'u_test'EXEC sp_droplogin 'l_test'
[解决办法]


企业管理器里面安全那里设置密码
[解决办法]

SQL code
ALTER LOGIN SA WITH PASSWORD = '密码'; 

热点排行