Sql-Server
.NET SQL Server 身份驗證架構問題
我目前正在為客戶做一個項目。該應用程序是用 ASP.NET C# 編寫的。使用的數據庫是 SQL Server 2008。該項目是將舊的 Oracle 數據庫遷移到新的 SQL Server 數據庫,以便連接到 .NET 程式碼並正常工作。我們使用 Microsoft Microsoft SQL Server 遷移助手 (SSMA) 將 Oracle 數據庫轉換為 SQL Server。這在大多數情況下都有效,但是我們確實必須對儲存過程和一些函式進行一些更改。
問題是,現在當我嘗試執行 .NET 程式碼時,它不會拾取任何儲存過程或函式,因為它們現在具有模式前綴,而 .NET 程式碼不會拾取它。
.NET 程式碼使用 Windowws 身份驗證連接到 SQL Server 數據庫,因此我無法向使用者添加預設架構或在 SQL Server 中登錄,因為它是一個組。
有什麼辦法可以解決這個問題嗎?
如果您想了解更多資訊,我將很樂意提供。
謝謝
連接字元串
<add key="DatabaseConnectionString" value="Data Source=DATASOURCE;Initial Catalog=DATABASE;Integrated Security=true;"/>
儲存過程呼叫
// Open a connection to the database SqlConnection databaseConnection = GetDatabaseConnection(); // Initialise the SQL command object SqlCommand cmd = new SqlCommand("PKG_PACKAGE_NAME$PR_PROCEDURE_NAME", databaseConnection); cmd.CommandType = CommandType.StoredProcedure;
博爾東倫
我不確定是什麼阻止您為使用者分配預設架構。您可以簡單地使用:
ALTER USER [NT AUTHORITY\Authenticated Users] WITH DEFAULT_SCHEMA = [Production]
顯然根據需要替換使用者/模式名稱。