今天嘗試用ASP連接sql server,好不容易連接上後抑鬱的發現自己建的表無法操作。就算加上dbo前綴後此表還是顯示對象名無效,而系統表訪問正常。
網上四處尋找問題,終於找到一個有效的解決辦法,爲數據庫建了一個用戶,通過此用戶連接數據庫,修改相應權限即可操作表了。
話說默認用戶怎麼設置權限都無法解決此問題,看來對於sql server太不熟練了。哎,慢慢練~
以下內容摘自http://blog.csdn.net/dandan0328/archive/2008/08/20/2801126.aspx
問題症狀:
訪問SQL Server數據庫,提示“xxx對象名無效”
根本原因:
用戶可能是數據庫的用戶,但數據庫未授予該用戶相應的訪問權限
解決方法:
爲數據庫用戶分配權限,具體過程見下。
1、假設數據庫名稱=happy,用戶名=haha。
2、在happy數據庫中->用戶->新建數據庫用戶->登錄名稱選擇[新建]->名稱填haha->確認密碼->haha賬戶建立成功。
* 注意——身份驗證選sql身份驗證,默認數據庫選happy,服務器角色選上db_owner,數據庫訪問記得選happy。
* 補充——如果在中間步驟的服務器角色時沒選,用新賬號和密碼訪問,就會出現錯誤“SQLServer拒絕了對對象 'hello'(數據庫 'happy',所有者 'dbo')的 SELECT 權限”,在賬戶屬性裏重新選上db_owner,或在權限設置裏將要訪問表的“選擇插入更新刪除”等項目上打勾就可以了。
此時,重新運行程序會看到訪問成功的頁面了。