2017-04-25 22 views
2

在我的工作場所,我們試圖連接到不同服務器上的Microsoft SQL Server數據庫。我們的服務器是一個通過代理AD帳戶運行服務的ColdFusion服務器。數據庫的所有者要求我們創建另一個AD帳戶並通過Windows身份驗證授予其訪問其數據庫的權限。在試圖創建在ColdFusion管理頁面此連接的數據源,並進入代理帳戶的信息,我們收到此錯誤:如何通過Windows身份驗證爲SQL Server數據庫正確設置ColdFusion數據源?

Connection verification failed for data source: xxxxxxx java.sql.SQLInvalidAuthorizationSpecException: [Macromedia][SQLServer JDBC Driver][SQLServer]Login failed for user 'xxxxxxx'. The root cause was that: java.sql.SQLInvalidAuthorizationSpecException: [Macromedia][SQLServer JDBC Driver][SQLServer]Login failed for user 'xxxxxx'.

我承認,這是因爲它試圖建立連接可能是通過SQL身份驗證,並且他們可能沒有打開混合身份驗證設置(基於查看以前的答案)。

所以我的問題是,我們可以採取什麼其他步驟來正確設置此連接?我假設在數據庫方面他們不會有興趣改變他們的認證設置或任何東西,這意味着我們只能使用Windows身份驗證。我們有其他選擇嗎?

+1

您的ColdFusion服務是否在具有SQL權限的AD帳戶下運行?如果是這樣,那麼我認爲你只需要從數據源中刪除用戶名/密碼,它就會嘗試使用ColdFusion服務用戶的憑證。如果您無法在該帳戶下運行ColdFusion,那麼我認爲您需要查看使用與ColdFusion捆綁在一起的ODBC服務。 –

+0

關閉,你需要用戶名。這是你留下空白的密碼。 –

+0

挑戰那些正在告訴你爲ColdFusion創建一個新的AD帳戶的人。 –

回答

3

This link舊,但Windows身份驗證說明仍適用。要設置數據源的CF使用Windows身份驗證:

  • 編輯DSN,並選擇顯示高級設置>連接字符串。然後輸入AuthenticationMethod=Type2並保存。
  • 離開usernamepassword領域的空白

注: ColdFusion服務必須將AD帳戶下運行具有權限到SQL Server。它不能以編程方式更改。

+0

看起來這是我們需要做的。謝謝。 – lonnyjuce

+0

歡迎。由於CF服務器必須在特定的Windows帳戶下運行,因此您可能還需要檢查針對任何CF應用程序的分支(如果有)。 – Leigh

+0

是的,我們對這條路線猶豫不決,因爲我們並不確定。 – lonnyjuce

相關問題