新增sql user是出現錯誤信息(我第一次接觸) |
答題得分者是:l630521
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
|
l630521
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
|
l630521
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
在SQL Query Analyzer 輸入下面指令 EXEC sp_addlogin @login_id = 'DDDDD' ,@password = '123' ,@defdb = 'HK' Msg 8145, Level 16, State 2
@login_id is not a parameter for procedure sp_addlogin.
Msg 8145, Level 16, State 2
@password is not a parameter for procedure sp_addlogin.
是不是真的沒有權限去新增用戶 我如何知道誰是有權限呢
|
l630521
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
|
l630521
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
|
l630521
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
|
cancer
高階會員 ![]() ![]() ![]() ![]() 發表:58 回覆:319 積分:190 註冊:2004-07-31 發送簡訊給我 |
figo大大, 您先前回應1630521說:
"我的新增用戶成功了
但為什麼我增加的用戶不是在hk而是在login裡,,
所以我不能登入hk
我如何才可以新增到hk裡呢" 我當初也被資料庫這些登入呀、用戶呀、密碼呀、權限呀等等,給搞到頭昏腦脹,後來終於搞懂。
在這裡我把自己搞懂的,向您報告一下。
首先,您不登入hk資料庫,而您永遠也不會登入資料庫,您登入"伺服器"。
您使用登入者名稱和密碼來登入伺服器。
然後,當您要使用某個資料庫時,該資料庫必須有一個使用者名稱,而您的登入名稱必須跟這個使用者名稱設定了關係,等於說" 這個登入者就是這個使用者"。
最後,您以這個使用者的權來使用這個資料庫。
假如我是這個資料庫的唯一管理員,那我就可以把您的登入名稱和這個使用者名稱之間的關連性給破壞掉,等於"這個登入者不是這個使用者",這樣,即使您能登入這個伺服器,您也無法使用這個資料庫。 這樣解說,夠不夠簡單?
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
tqeditlogin.SQL.Text := 'exec sp_addlogin @loginame=' //新增一個登入user QuotedStr(edUser.Text) ',@passwd=' QuotedStr(edOldPW.Text); tqeditlogin.ExecSQL; tqeditlogin.SQL.Text := 'exec sp_adduser @loginame=' //新增一個用戶入hk//我定義的dbe是hk所以會在hk新增一個用戶 QuotedStr(edUser.Text) ',@name_in_db=' QuotedStr(eduser.Text) ',@grpname=' QuotedStr('sa'); tqeditlogin.ExecSQL; FMshowmessage.showinfomessage('添加用戶成功!');l630521你好太遲回你了.真不好意思.你所提供在sql6.5沒有此參數. 同時想問一下 tqtypelogins.SQL.Text := 'exec sp_helplogins @LoginNamePattern=' QuotedStr('a%'); tqtypelogins.ExecSQL;在delphi沒有反應..在sql6.5能正確顯示.原因在那呢... |
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
|
l630521
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:15 回覆:349 積分:372 註冊:2003-02-17 發送簡訊給我 |
引言:我直接拉一個TADOQuery去執行EXEC sp_helplogins這個StoredProcedure,沒帶任何參數,他會傳回兩個資料集,你直接拉一個TDataSource及TDBGrid,把關聯設好,TADOQuery.Active設成True,就可以顯示第一個資料集,然後再用TADOQuery..NextRecordset來取得第二個資料集即可!傳回的資料格式如下圖 ,這是SQL 2000 Server的,SQL 6.5你可能要查一下Help了!tqeditlogin.SQL.Text := 'exec sp_addlogin @loginame=' //新增一個登入user + QuotedStr(edUser.Text) + ',@passwd=' + QuotedStr(edOldPW.Text); tqeditlogin.ExecSQL; tqeditlogin.SQL.Text := 'exec sp_adduser @loginame=' //新增一個用戶入hk//我定義的dbe是hk所以會在hk新增一個用戶 + QuotedStr(edUser.Text) + ',@name_in_db=' + QuotedStr(eduser.Text) + ',@grpname=' + QuotedStr('sa'); tqeditlogin.ExecSQL; FMshowmessage.showinfomessage('添加用戶成功!');l630521你好太遲回你了.真不好意思.你所提供在sql6.5沒有此參數. 同時想問一下tqtypelogins.SQL.Text := 'exec sp_helplogins @LoginNamePattern='+QuotedStr('a%'); tqtypelogins.ExecSQL;在delphi沒有反應..在sql6.5能正確顯示.原因在那呢... |
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |