Pervasive SQL v8: GRANT executed from Data Manager doesn't stick
Posted on 2007-08-01
I'm running Pervasive SQL v8.60 on Windows Server 2003. When I use the Control Center to open a table in the Data Manager, and execute a "GRANT" statement to give another user column-level privileges, those privileges seem to last only until I close the Control Center.
1. Start Control Center on the server
2. Navigate to the "Tables" control of the database in question.
3. Double click any table to open the Data Manager.
4. Execute "GRANT SELECT (column_a) ON table_b TO user_x" -- Data Manager reports that the SQL statement executed successfuly
5. From a different computer, run a test script which connects, via ODBC, to the database in question as user_x, and executes a simple query: "SELECT column_a FROM table_b" -- script succeeds.
6. Close Control Center on the server
7. From the same computer mentioned in step 5, run the same test script again. The script fails with an ODBC error: "you are not authorized to perform this operation".
If I start over from step 1, I get the same results, every time. Is there some sort of a "commit" or "flush" that I need to do on the server to get this GRANT to take effect permanently? I tried connecting to the database and executing the GRANT statement over ODBC, but Pervasive doesn't seem to permit the "Master" user to log in via ODBC.