通的ASP/ C# .NET
页面运行下面的代码时,我得到一个错误:错误“无效的对象名称INFORMATION_SCHEMA.TABLES”
SELECT 1 FROM [database].INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='example_table'
的代码运行完全当我在sql management studio query
窗口中运行它。 它也只破1个具体server
- 当我运行在不同的server
与不同connection string
,它工作正常。
我已经搜遍了互联网,我似乎找到的所有答案都是有区分大小写的问题,但我使用的都是大写字母,而且问题表无论如何都使用SQL_Latin1_General_CP1_CI_AS collation
。
基于这一切,我敢肯定这是某种权限问题,但我不确定在哪里寻找。
我得到的错误:
无效的对象名称database.INFORMATION_SCHEMA.TABLES“。
连接字符串:
<add name="connectionName" connectionString="Data Source=servername; Initial Catalog=master; User ID=user; Password=pw" providerName="System.Data.SqlClient"/>
UPDATE:
一些详细信息:我已经适应从一些旧VB的东西,基本上做同样的事情的代码。 VB代码在相同的服务器和数据库上运行相同的确切查询,但它工作正常。
VB代码:
Dim connStr As String = ConfigurationManager.ConnectionStrings("connectionName").ConnectionString
Dim objConnection As SqlConnection = New SqlConnection(connStr)
Dim objCommand As SqlCommand = New SqlCommand("SELECT 1 FROM [database].INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='example_table'", objConnection)
objCommand.CommandType = CommandType.Text
objConnection.Open()
的C#和VB代码都使用完全相同的连接字符串从web.config中,所以我想这使我怀疑,这将是一个权限问题。仍然不知道问题是什么。
你得到的错误将是有用的,连接字符串,这种事情 –
我道歉不清楚,错误是标题:无效的对象名'database.INFORMATION_SCHEMA.TABLES'。连接字符串是相当标准的,我想, –
Zimek
does not为我工作,但我没有一个数据库称为数据库... –