Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 默认架构不适用于asp classic中的选择查询_Sql_Asp Classic_Sql Server 2012_Database Schema_Adodb - Fatal编程技术网

Sql 默认架构不适用于asp classic中的选择查询

Sql 默认架构不适用于asp classic中的选择查询,sql,asp-classic,sql-server-2012,database-schema,adodb,Sql,Asp Classic,Sql Server 2012,Database Schema,Adodb,我在asp classic中遇到默认模式和sql问题。首先,我有一个数据库“MyDatabase”,这个数据库有一个模式“MySchema”(所有表都在这个模式中),还有一个用户“jdoe”对“MyDatabase”有权限,默认模式为“MySchema”,而“jdoe”不是sysadmin。 “jdoe”可以从management studio执行以下查询,而不会出现错误: SELECT columnOne FROM MyTable 来自.asp页面的同一查询找不到MyTable: Dim q

我在asp classic中遇到默认模式和sql问题。首先,我有一个数据库“MyDatabase”,这个数据库有一个模式“MySchema”(所有表都在这个模式中),还有一个用户“jdoe”对“MyDatabase”有权限,默认模式为“MySchema”,而“jdoe”不是sysadmin。 “jdoe”可以从management studio执行以下查询,而不会出现错误:

SELECT columnOne FROM MyTable
来自.asp页面的同一查询找不到MyTable:

Dim query
query = "SELECT ColumnOne FROM MyTable"
Asp页面正在使用ADODB.Command和用户“jdoe”。如果我明确指定模式,查询将返回结果:

Dim query
query = "SELECT ColumnOne FROM MySchema.MyTable"
我在网上搜索过,但所有答案都是一样的:将默认模式指定为“jdoe”,但我这样做了,并在服务器中使用了t-sql或类似dabatase的存储过程,但没有像在asp页面中那样使用query

是否存在一些特殊的配置


谢谢。

已解决:

我不知道发生了什么,我通过windows用户(域\用户)更改了sql server用户“jdoe”,它可以工作,我以相同的方式配置了windows用户,分配了一个默认模式,没有系统管理员权限。
在asp页面中,我使用了带有windows身份验证的DSN,在IIS中,我配置了允许匿名访问的网站安全目录,并且使用了在sql server中使用的同一用户。

是否以这种方式更改了默认架构
ALTER USER MyUser WITH DEFAULT_SCHEMA=MySchema
。另外,请验证您正在修改应用程序中连接的正确用户。是的,我这样做了,但仅适用于服务器上的代码,在asp页面中仍然不起作用。在分配默认架构时,我关心用户。因此,您正在使用更改默认架构的同一个Windows用户执行iis/应用程序池?我已解决它!!我使用的是一个sql server用户,我配置了这个用户,但它不起作用。在我用相同的配置配置了一个windows用户之后,它就可以工作了!!。如果您解决了问题,请添加一个答案并单击复选标记接受它-在此处回答您自己的问题完全可以。