मैं jaybird के माध्यम से एक Firebird उपयोगकर्ता (Pippo) बनाया उपयोग नहीं कर सकते, इस प्रकार GSEC "प्रदर्शन":Firebird उपयोगकर्ता टेबल
GSEC> di user name uid gid admin full name ------------------------------------------------------------------------------------------------ SYSDBA 0 0 Sql Server Administrator PIPPO 0 0 GesAll 1.0 User GSEC>
मैं Firebird डीबी में एक भूमिका (GESALLDB_USER) बना सकते हैं और कुछ विशेषाधिकार प्रदान:
SQL> show grant; /* Grant permissions for this database */ GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON ANELLI TO ROLE GESALLDB_USER GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON COPPIE TO ROLE GESALLDB_USER GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON COVE TO ROLE GESALLDB_USER GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON DATI_CONFIGURAZIONE TO ROLE GESALLDB_USER GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON DATI_COVE TO ROLE GESALLDB_USER GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON DATI_SOGGETTI TO ROLE GESALLDB_USER GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON DEPOSIZIONI TO ROLE GESALLDB_USER GRANT GESALLDB_USER TO PIPPO SQL>
jaybird के माध्यम से नए उपयोगकर्ता को यह भूमिका (अंतिम पंक्ति से पहले) दी:
समस्या यह है कि मैं संदेश मिला जब भी मैं एक क्वेरी चलाने के लिए प्रयास करें:
SQL> select * from anelli; Statement failed, SQLSTATE = 28000 no permission for read/select access to TABLE ANELLI SQL>
यदि मैं सीधे नव निर्मित उपयोगकर्ता को टेबल प्रदान करता हूं तो सब कुछ काम करता है।
SQL> grant all on anelli to pippo;
SQL> show grant;
/* Grant permissions for this database */
GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON ANELLI TO ROLE GESALLDB_USER
GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON ANELLI TO USER PIPPO
SQL> connect "C:\Users\teiluke\Documents\Ondulati\DB\prova\gesalldb.fdb" user "p
ippo" password "topolino";
Commit current transaction (y/n)?y
Committing.
Server version:
WI-V2.5.2.26540 Firebird 2.5
WI-V2.5.2.26540 Firebird 2.5/XNet (E7441EA1CA2CF4)/P12
WI-V2.5.2.26540 Firebird 2.5/XNet (E7441EA1CA2CF4)/P12
Database: "C:\Users\teiluke\Documents\Ondulati\DB\prova\gesalldb.fdb", User: pi
ppo
SQL> select * from anelli;
PROGRESSIVO Federazione आरएनए TIPO ANNO INIZIO फाइन ATTIVA LAST_USED
============ =========== ====== ====== ====== ============ ============ ====== =
1 FOI 89LR E 2012 1 100 N
0
2 FOI 89LR E 2013 1 100 S
41
इस पर कोई मदद?
धन्यवाद गियानलुका।
सुझाए गए समान परिणाम के रूप में संपन्न: 'एसक्यूएल> कनेक्ट "सी: \ उपयोगकर्ता \ teiluke \ दस्तावेज़ \ ondulati \ DB \ prova \ gesalldb.fdb" उपयोगकर्ता "पिप्पो" पासवर्ड "topolino" भूमिका "gesalldb_user"; सर्वर संस्करण: वाई-V2.5.2.26540 Firebird 2.5 डेटाबेस: "c: \ उपयोगकर्ताओं \ teiluke \ दस्तावेज \ ondulati \ db \ Prova \ gesalldb.fdb", उपयोगकर्ता: pippo, भूमिका: gesalldb_user एसक्यूएल> का चयन करें * एनेली से; वक्तव्य में विफल SQLSTATE = 28000 टेबल ANELLI एसक्यूएल> शो अनुदान के लिए पढ़ने/चयन के उपयोग के लिए कोई अनुमति; /* इस डेटाबेस के लिए अनुदान अनुमतियां */ । । । अनुदान GESALLDB_USER से PIPPO ' –
@GianlucaPasqualato अजीब, मैं इसे पुन: पेश करने की कोशिश करूंगा और देख सकता हूं कि मुझे कुछ याद आया या नहीं। –
@GianlucaPasqualato मैंने अभी इसका परीक्षण किया है, और जब भूमिका (सिंगल या डबल) उद्धरणों से घिरा हुआ है तो भूमिका केस संवेदनशील होती है, इसलिए 'भूमिका' gesalldb_user'' का उपयोग करना काम नहीं करता है, लेकिन 'भूमिका' GESALLDB_USER'' या 'role gesalldb_user' काम करेगा। –