通的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爲我工作,但我沒有一個數據庫稱爲數據庫... –