2015-09-25 38 views
0

所有這一切都在我的客戶端的同一臺服務器上。ADO.net SQL Server謎案與大小寫敏感

我有一個數據庫,比方說我在SQL Server中將它稱爲MYDATABASE

我有兩個完全相同的ASP.Net Web應用程序,一個只是另一個的副本,其中有一些修改用於測試,並將取代另一個。

除了執行查詢的一個地方以外的所有東西都可以工作。該查詢具有小型大寫數據庫的名稱。 Web應用程序1執行罰款,Web App的2拋出一個異常

無效對象名MyDatabase的...

,因爲它是一個第三方的DLL我不能修改查詢。

+0

在同一個版本的.NET的同時運行Web應用程序? –

+0

好問題,我會檢查一次,我與客戶達成協議。 – jsoques

回答

1

您需要檢查並且可能會修改SQL Server排序規則。排序規則規定了如何對字符串數據進行排序和比較的規則。

可能是您的服務器不具有相同的整理值。

首先,運行此命令

SELECT SERVERPROPERTY(N'Collation') 

結果字符串必須包含'CI' 爲「不區分大小寫」也許 'CS' 爲 「區分大小寫」

在這裏找到了一篇文章,知道你的排序規則,以及如何改變這種狀況:https://www.mssqltips.com/sqlservertip/2901/how-to-change-server-level-collation-for-a-sql-server-instance/

+0

奇怪的是,這兩個ASP.net應用程序運行在同一臺服務器上。他們正在查詢同一臺服務器。反正我會檢查。謝謝。 – jsoques

+0

其中一個應用程序可能具有與數據庫相匹配的魔術字符串,或者正在尋找變化。另一個應用程序也可能使用類似於LINQ的對象,所以它在內存中執行查詢,然後應用.Net字符串比較規則。 –