# IIS下VFP连接MSSQL2008不正常,原来是IUSER用户惹的祸

# 加菲猫的VFP社群的日常

用VFP,不局限VFP,用VFP混合一切。讨论前端,后端,DBF,MSSQL,MYSQL,微信开发都有。这才是一个干事的社群嘛。

社群日常

# 技术赚钱的能力

人们常说,人如果要有自由,就要有选择的权利。而如今的社地,要有选择权,就要有赚钱的能力。人生要自由,先赚钱。

赚钱是结果,是技术解决客户问题的结果。

知识学会,技能练熟,事情就能做成,就会得到一个结果,叫「赚钱」。

所以,学习能力是赚钱必备的第一能力。

# 解决连接串BUG一例

知识一定要沉淀下来,多写文章,多记笔记,不然很快就过一下眼就消失了。

今天在翻文章,翻到以前的一篇笔记,那就重新整理一下发出来。

MSSQL2008数据库连接如下

DRIVER=SQL Server;SERVER=127.0.0.1\SQLexpress;UID=sa;Pwd=flyfox;Database=Gzmw;Trusted_Connection=Yes;
1

在VFP开发环境运行一切正常。发布到IIS中运行报错 连接错误: [Microsoft][ODBC SQL Server Driver][SQL Server]无法打开登录所请求的数据库 "Gzmw"。登录失败。

百思不得其解。

后面翻了一下Trusted_Connection的含义

当为 false 时,将在连接中指定用户 ID 和密码。当为 true 时,将使用当前的 Windows 帐户凭据进行身份验证。 可识别的值为 true、false、yes、no 以及与 true 等效的 sspi(强烈推荐)。

也就是说,如果你使用的是Trusted_Connection=Yes,那么你就要把IUSER添加到数据库服务器的安全性->用户

然后找到Gzmw数据库->安全性->用户->右键新建用户

在IIS中,你的EXE是以IUSE用户身份运行的。至此问题解决。

在IIS中,IUSER用户的权限很低的,不能创建目录,不能创建文件,所以一定要把读写的目录给IUSER用户添加权限。