Office中国论坛/Access中国论坛

标题: accesss前台连接SQL数据问题 [打印本页]

作者: pq318    时间: 2012-2-16 09:22
标题: accesss前台连接SQL数据问题
我用access连接SQL2005数据库,每次打开access前台时都提示无法建立信任连接,需要输入SQL数据库账户密码,我想问的是这个情况是否正常,还有如何建立信任连接,谢谢各位大侠了!
作者: pq318    时间: 2012-2-16 09:29
我是用ODBC连接的
作者: Grant    时间: 2012-2-16 12:00
密码没有保存吧
作者: pq318    时间: 2012-2-16 12:31
版主建立ODBC连接的时候用的是SQL数据库的账号密码,但是登陆的时候出现的是本地主机的账号
作者: pq318    时间: 2012-2-16 12:31
这个是怎么回事事情啊
作者: wu8313    时间: 2012-2-16 12:40
本帖最后由 wu8313 于 2012-2-16 13:52 编辑

首先来说,出现登录框 ,是正常的。因为你并没有添加 到服务器的登录账户。
使用信任连接 也是可以的,但一般采用这个方式的人很少。


在服务器 上 运行以下脚本,先把 mylogin 这个登录账户 搞定。
然后,在你的ODBC 连接数据库的 字符串中 ,把 mylogin 账户名 和 密码 加上去 就可以 解决楼主的问题了。


===============================


/******第1步--> 添加 一个登录账户mylogin,密码myloginpwd。用来登录到数据库服务器.可以用来打开查询分析器*******/
use master

if not exists (select * from master.dbo.syslogins where loginname = N'mylogin')
BEGIN
        declare @logindb nvarchar(132), @loginlang nvarchar(132) select @logindb = N'yourdbname', @loginlang = N'简体中文'
        if @logindb is null or not exists (select * from master.dbo.sysdatabases where name = @logindb)
                select @logindb = N'yourdbname'
        if @loginlang is null or (not exists (select * from master.dbo.syslanguages where name = @loginlang) and @loginlang <> N'us_english')
                select @loginlang = @@language
        exec sp_addlogin N'mylogin', myloginpwd, @logindb, @loginlang
END
GO

[attach]48359[/attach]

/******第2步 把 mylogin 这个登录账户 映射到 sysadmin组中(固定服务器角色的一种)  *******/
use master
exec sp_addsrvrolemember N'mylogin', sysadmin
GO
[attach]48360[/attach]

/******第3步 把 mylogin 这个登录账户 映射到 serveradmin组中(固定服务器角色的一种)  *******/
use master
exec sp_addsrvrolemember N'mylogin', serveradmin
GO
[attach]48361[/attach]

/******第4 步--> 把mylogin 这个登录账户映射到yourdbname(--你的数据库的名称) 架构中*******/
use yourdbname  --你的数据库的名称

if not exists (select * from dbo.sysusers where name = N'mylogin')
        EXEC sp_grantdbaccess N'mylogin', N'mylogin'
GO
[attach]48362[/attach]

/******第5步--> 把mylogin 这个登录账户映射到dbowner 组中(固定数据库角色的一种)  *******/
/******同时把mylogin  添加为yourdbname 的一个用户 *******/
use yourdbname
exec sp_addrolemember N'db_owner', N'mylogin'
GO
[attach]48363[/attach]




作者: pq318    时间: 2012-2-16 13:47
正在努力谢谢了
作者: pq318    时间: 2012-2-16 17:44
我的SQL数据库设置没有问题,现在的问题是每次打开access前台都要重新输入SQL的账号和密码,感觉在ODBC里面设置的没有起作用啊

作者: pq318    时间: 2012-2-16 17:44
我的SQL数据库设置没有问题,现在的问题是每次打开access前台都要重新输入SQL的账号和密码,感觉在ODBC里面设置的没有起作用啊

作者: pq318    时间: 2012-2-16 18:26
建立ODBC的感觉不对,保存账户和密码的复选框是灰色的,没有作用,如何解决
作者: Grant    时间: 2012-2-16 20:20
是不是你权限不够,所以灰色
作者: pq318    时间: 2012-2-17 08:33
现在恼火的是服务器不够,借用的别的系统的数据库服务器,各方面都挺不便啊
作者: pq318    时间: 2012-2-17 10:06
谢谢各位了大神了,呵呵,走入编程行业没有师傅带,所有的包括框架,程序,美工,测试,项目实施都是一个人搞定的,真的很辛苦,还好有这个论坛,以后有时间会多来,谢谢了,下一步就是把前台用ASP.NET做出来,呵呵
作者: wu8313    时间: 2012-2-17 10:09
pq318 发表于 2012-2-16 09:29
我是用ODBC连接的

把 odbc 连接 字符串 贴上来大家看看。
作者: pq318    时间: 2012-2-17 10:54
Driver={SQL Server}; Server=192.168.1.254; Database=xypq-SQL; Uid=pq; Pwd=pq520;
问题已经解决,是我的用的文件ODBC数据源,而应该用及其数据源就没有问题了,其实这个字符连接串我都没有用的,谢谢wu8313和各位斑竹了,给你们添麻烦了,不过整个过程还是学到很多

作者: wu8313    时间: 2012-2-17 11:02
pq318 发表于 2012-2-17 10:54
Driver={SQL Server}; Server=192.168.1.254; Database=xypq-SQL; Uid=pq; Pwd=pq520;
问题已经解决,是我 ...

喔,机器数据源  是你手工创建的。链接到sql 的时候,你手工选择 这个数据源对吧? 这样的话,只要第一次,把登录账户 和 密码 填写完毕,后期就 可以直接使用了。
==========================
如果是,使用代码 创建 机器数据源,需要填写 账户和 密码。

作者: pq318    时间: 2012-2-17 11:13
是的,情况就是这个样子的,谢谢了!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3