線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1270
推到 Plurk!
推到 Facebook!

新增sql user是出現錯誤信息(我第一次接觸)

答題得分者是:l630521
figo
初階會員


發表:47
回覆:70
積分:28
註冊:2004-12-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-08 12:41:29 IP:202.175.xxx.xxx 未訂閱
execute permission denied on object sp_addlogin,datebase master,ower dbo     
 
  sql.Text := ' EXEC sp_addlogin @loginame =DDDDD ,@passwd = DDDDD ,@defdb =HK';
    ExecSQL;
希望給個小的實例.最基本就可以..謝謝
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-08 13:44:00 IP:220.228.xxx.xxx 未訂閱
  ADOQuery1.SQL.Text := 'EXEC sp_addlogin @loginame = ''DDDDD'' ,@passwd = ''DDDDD'' ,@defdb = ''TEST''';
  ADOQuery1.ExecSQL;
我測試是沒問題,應該是你沒有加引號吧! Ian
figo
初階會員


發表:47
回覆:70
積分:28
註冊:2004-12-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-08 14:21:49 IP:202.175.xxx.xxx 未訂閱
l630521 你好..在sql2000是成功 由於我是用sql6.5不能用ado連接所以用不上 但在bde不能用.... 我還需要注意什麼事項...謝謝提點. 我的系統是
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-08 15:18:01 IP:220.228.xxx.xxx 未訂閱
抱歉!我沒有SQL 6.5的環境,不過照你的錯誤訊息看起來好像是權限問題,你可以試著用SQL Query Analyzer用你程式登入的使用者登入,再Run看看 EXEC sp_addlogin @loginame ='DDDDD' ,@passwd = 'DDDDD' ,@defdb ='HK' 是否也有同樣的錯誤訊息,檢查一下你登入的權限可否執行sp_addlogin這個StoredProcedure! Ian
figo
初階會員


發表:47
回覆:70
積分:28
註冊:2004-12-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-08 17:02:55 IP:202.175.xxx.xxx 未訂閱
在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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-08 17:19:39 IP:220.228.xxx.xxx 未訂閱
這一次的錯誤訊息是sp_addlogin裡沒有@login_id及@password這兩個參數,也許是SQL 6.5的sp_addlogin不一樣,建議你看看Help,或是直接開啟Master資料庫下的sp_addlogin看看可以帶入什麼參數,最好是看Help說明比較清楚! 至於是否為權限問題的話,你可以在sp_addlogin上按右鍵\所有工作\管理使用權限裡來看那些User可以執行此StoredProcedure! Ian
figo
初階會員


發表:47
回覆:70
積分:28
註冊:2004-12-18

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-06-09 10:31:56 IP:202.175.xxx.xxx 未訂閱
l630521早晨 我的新增用戶成功了 但為什麼我增加的用戶不是在hk而是在login裡,, 所以我不能登入hk 我如何才可以新增到hk裡呢..謝謝回答
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-06-09 13:50:34 IP:220.228.xxx.xxx 未訂閱
我在SQL 2000下是再多執行 use HK EXEC sp_grantdbaccess 'DDDDD', 'DDDDD' exec sp_addrolemember 'db_owner', 'DDDDD' 這兩個StoredProcedure 把權限加進去的! Ian 發表人 - l630521 於 2005/06/09 13:51:10
figo
初階會員


發表:47
回覆:70
積分:28
註冊:2004-12-18

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-06-10 14:11:04 IP:202.175.xxx.xxx 未訂閱
l630521多謝你的提示
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-06-10 15:08:49 IP:220.228.xxx.xxx 未訂閱
引言: l630521多謝你的提示
啊結果是可不可以啊?我想知道一下!謝謝! Ian
cancer
高階會員


發表:58
回覆:319
積分:190
註冊:2004-07-31

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-06-13 23:12:35 IP:210.201.xxx.xxx 未訂閱
figo大大, 您先前回應1630521說: "我的新增用戶成功了 但為什麼我增加的用戶不是在hk而是在login裡,, 所以我不能登入hk 我如何才可以新增到hk裡呢" 我當初也被資料庫這些登入呀、用戶呀、密碼呀、權限呀等等,給搞到頭昏腦脹,後來終於搞懂。 在這裡我把自己搞懂的,向您報告一下。 首先,您不登入hk資料庫,而您永遠也不會登入資料庫,您登入"伺服器"。 您使用登入者名稱和密碼來登入伺服器。 然後,當您要使用某個資料庫時,該資料庫必須有一個使用者名稱,而您的登入名稱必須跟這個使用者名稱設定了關係,等於說" 這個登入者就是這個使用者"。 最後,您以這個使用者的權來使用這個資料庫。 假如我是這個資料庫的唯一管理員,那我就可以把您的登入名稱和這個使用者名稱之間的關連性給破壞掉,等於"這個登入者不是這個使用者",這樣,即使您能登入這個伺服器,您也無法使用這個資料庫。 這樣解說,夠不夠簡單?
figo
初階會員


發表:47
回覆:70
積分:28
註冊:2004-12-18

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-06-15 16:34:08 IP:202.175.xxx.xxx 未訂閱
   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

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-06-15 17:04:21 IP:202.175.xxx.xxx 未訂閱
請問各位在sql6.5里用什麼參數可以顯示在線用戶呢... 謝謝
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#14 引用回覆 回覆 發表時間:2005-06-16 09:16:59 IP:220.228.xxx.xxx 未訂閱
引言:
   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能正確顯示.原因在那呢...
我直接拉一個TADOQuery去執行EXEC sp_helplogins這個StoredProcedure,沒帶任何參數,他會傳回兩個資料集,你直接拉一個TDataSource及TDBGrid,把關聯設好,TADOQuery.Active設成True,就可以顯示第一個資料集,然後再用TADOQuery..NextRecordset來取得第二個資料集即可!傳回的資料格式如下圖 ,這是SQL 2000 Server的,SQL 6.5你可能要查一下Help了! Ian
figo
初階會員


發表:47
回覆:70
積分:28
註冊:2004-12-18

發送簡訊給我
#15 引用回覆 回覆 發表時間:2005-06-16 10:15:08 IP:202.175.xxx.xxx 未訂閱
看來dbe沒有NextRecordset..所以不能顯示第二個資料庫 那只有打消這個念頭.. 請問各位在sql6.5里用什麼參數可以顯示在線用戶呢... 謝謝
系統時間:2024-06-27 3:07:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!