Что вы хотите сделать с текстом? Является ли файл достаточно маленьким, чтобы вписаться в память? Я попытался бы найти самый простой способ обработки файла для ваших нужд. Для этого используется библиотека FileUtils.
for(String line: FileUtils.readLines("my-text-file"))
System.out.println(line);
Это особый способ защитить таблицу. В некоторых случаях это может иметь смысл, хотя обычно вы хотите предоставить некоторое окно видимости, чтобы пользователи не следили за их воздействием на данные.
Чтобы полностью реализовать базу данных только для записи, используйте хранимые процедуры. Процедуры могут иметь полный доступ к базе данных, и пользователям может быть предоставлен доступ только к хранимым процедурам.
Это легко достигается путем предоставления правильного уровня доступа:
REVOKE ALL ON TABLE GRADES FROM USER1; -- to clear out all privileges
GRANT INSERT, UPDATE, DELETE ON TABLE GRADES TO USER1;
Это позволит USER1 вставлять, обновлять и удалять, но не выбирать из таблицы оценок.
Измените USER1
на PUBLIC
или какую-нибудь группу или что-то еще, что вам нужно. Измените список разрешений по своему усмотрению.
Ваша ситуация - это вариант классического примера в курсе базы данных IBM, который я использовал для обучения: финансовому персоналу разрешено выплачивать% заработной платы, но не см. , каков уровень оплаты для сотрудников, поэтому
GRANT UPDATE ON TABLE EMPLOYEE TO ACCT_STAFF; -- an no other privileges
, который позволяет им выплачивать 15% заработной платы за счет выполнения:
UPDATE EMPLOYEE SET PAY = PAY * 1.15 WHERE EMPLOYEE_ID = 666;
WHERE recno=123
в операторе обновления без i>, выбрав доступ к таблице. Я не понимаю, о чем вы говорите.
– Bohemian♦
12 January 2012 в 02:45
Оооо! Я понял. Я дам привилегию пользователя SELECT для только столбца recno.
Если оставить вопрос открытым, на всякий случай, если кто-то придумает лучший ответ.
Создайте VIEW
и предоставите пользователю полный доступ к нему. Это представление должно содержать только те строки, которые вы хотите, чтобы пользователь мог редактировать.
Другим и, возможно, более подходящим подходом было бы полностью отвлечь этот механизм от СУБД и вместо этого создать API, который вы разрешаете пользователям.