为什么SQL Server上的列名在通过ASP页面访问时不区分大小写,而在通过PHP mssql模块访问时区分大小写?
为什么SQL Server上的列名在通过ASP页面访问时不区分大小写,而在通过PHP mssql模块访问时区分大小写 例如,我们有一个IIS服务器,其中有许多ASP页面可以访问我们的SQL server。从数据库检索的表中的列名都不区分大小写。您可以键入所有大写字母、小写字母或混合字母,然后返回 然而,我们有一个运行Ubuntu(最新版本)的Linux服务器,它有一个完全更新的Apache2和PHP5,使用mssql模块连接到sql服务器,并进行了完全修补和更新,但是。。所有列名都区分大小写 当DB管理员更改视图时,存储过程现在返回的列名都是大写的,而不是像昨天一样的小写,这就造成了问题 有没有办法调整mssql模块 以下是我的设置:为什么SQL Server上的列名在通过ASP页面访问时不区分大小写,而在通过PHP mssql模块访问时区分大小写?,php,sql-server,Php,Sql Server,为什么SQL Server上的列名在通过ASP页面访问时不区分大小写,而在通过PHP mssql模块访问时区分大小写 例如,我们有一个IIS服务器,其中有许多ASP页面可以访问我们的SQL server。从数据库检索的表中的列名都不区分大小写。您可以键入所有大写字母、小写字母或混合字母,然后返回 然而,我们有一个运行Ubuntu(最新版本)的Linux服务器,它有一个完全更新的Apache2和PHP5,使用mssql模块连接到sql服务器,并进行了完全修补和更新,但是。。所有列名都区分大小写 当
MSSQL Support enabled
Active Persistent Links 0
Active Links 1
Library version FreeTDS
Directive Local Value Master Value
mssql.allow_persistent On On
mssql.batchsize 0 0
mssql.charset no value no value
mssql.compatability_mode Off Off
mssql.connect_timeout 5 5
mssql.datetimeconvert On On
mssql.max_links Unlimited Unlimited
mssql.max_persistent Unlimited Unlimited
mssql.max_procs Unlimited Unlimited
mssql.min_error_severity 10 10
mssql.min_message_severity 10 10
mssql.secure_connection Off Off
mssql.textlimit Server default Server default
mssql.textsize Server default Server default
mssql.timeout 60 60
为什么不总是将列名视为区分大小写?如果您调用了一列
FloobSize
,那么将其引用为FloobSize
或FloobSize
会有什么好处?另外,您能解释一下“所有列名都区分大小写”的含义吗?如果您改为调用FloobSize
FloobSize
,PHP是否会抛出错误?什么错误?这是一个“制表符与空格”、“vi与emacs”、“大括号在行尾与下一行”的参数。。。但是,由于我一直假定情况总是重要的,所以我从来没有遇到过任何问题:-)@scunlife对于关键字等可能是正确的(SELECT
vs.SELECT
),但我认为对于用户定义的实体来说,这不是完全相同的论点。如果您将某个东西命名为splunge\u mort
,那么除了splunge\u mort
,您为什么还要以任何其他方式引用它呢?很可能您是用一个应用程序连接到区分大小写的排序规则数据库,而不是用另一个应用程序连接到区分大小写的排序规则数据库。客户端堆栈在这件事上没有发言权。@Remus nice catch,从叙述中,我假设两个应用程序都连接到同一个数据库,并与同一个表通信。