我試圖讓一個經典的ASP應用程序連接到本地SQL Server 2008數據庫。應用程序和數據庫是由別人構建的。我只是試圖讓他們安裝並運行在我的機器上(Windows 7)。ASP無法連接到SQL Server數據庫
Could not connect to database:
Error Number: -2147467259
Error Message: [ConnectionOpen (Connect()).] does not exist or access denied.
我沒有看到在Windows事件查看器中的任何消息:
當ASP應用程序試圖連接到數據庫的時候,我發現了以下錯誤。我正在查看:事件查看器 - > Windows日誌 - >應用程序。
這是一個新的數據庫安裝使用簡單的恢復。 SQL Server安裝使用默認實例。 SQL Server和Windows身份驗證都是允許的。我保留現有的連接字符串(在ASP代碼中),並嘗試將其添加到我的SQL Server安裝中。這裏是連接字符串:
strConn = "PROVIDER=SQLOLEDB;SERVER=localhost;UID=TheUser;PWD=ThePassword;DATABASE=TheDatabase;"
要將該用戶添加到SQL Server,我去了SSMS中的安全/登錄並添加了用戶和密碼。我選擇了有問題的數據庫作爲默認數據庫。我認爲這可能會訣竅,但事實並非如此。然後,我進入TheDatabase,然後進入安全。我在那裏添加了一個新用戶,引用了我已經添加到服務器安全中的新用戶。在擁有的架構下,我單擊了db_owner,並在Role Members下檢查了db_accessadmin和db_owner。這些都沒有給ASP應用程序訪問數據庫。有關登錄的sid值在sys.database_principals
和sys.server_principals
中匹配。我可以使用此登錄名登錄SSMS。
應用程式需要對這樣的數據庫進行選擇:
oConn.Execute('select * from someTable')
我不是一個DBA和我救命稻草幾分把握在這裏。我如何連接這個東西?
感謝, 周杰倫