Murugesan Solaiyappan Ответов: 2

Приложение для выполнения SQL-запроса с режимом только для чтения C#


У меня есть требование, чтобы разработать приложение на C# для выполнения SQL-оператора(то же самое, что и анализатор Sql-запросов).Это приложение должно работать как режим доступа для чтения (только выберите). я не хочу менять привилегии пользователя SQL server, а также нет никаких ограничений в приложении для выполнения команд sql.

Например
Query 1
CREATE TABLE Table(Col1 int,Col2 Int)
INSERT INTO Table(col1,Col2) VALUES(1,2)

Query 2
CREATE TABLE #Table1(Col1 int,Col2 Int)
INSERT INTO #Table1(col1,Col2) VALUES(1,2)

Select * from Table2 as A 
JOIN #Table1 AS B ON A.Col1=B.Col2


Как вы видите выше сценарий, если вы выполняете приложение Query1, которое должно выдать ошибку, Query2 должен работать нормально.

Что я уже пробовал:

Сервер=myServerAddress;базы данных=базы данных mydatabase;идентификатор пользователя=имя_пользователя;
Пароль=myPassword;намерение приложения=только для чтения

RossMW

Если вы выполняете только инструкцию select, почему бы вам просто не проверить инструкцию SQL на наличие ключевых слов, чтобы проверить, следует ли ее запускать?

2 Ответов

Рейтинг:
1

prateekfgiet

в приложении вам нужно проверить строку для
обновление
удалить
создать с # сайта
если строка содержит вышеупомянутое ключевое слово, то приложение выдаст исключение "пользователь не имеет права на вставку обновления и удаление"


Рейтинг:
1

vani suresh

Привет Муругесан,

Вот запрос

SELECT * FROM fn_my_permissions('dbo', 'SCHEMA')

Результатом запроса будет "subentity_name","имя разрешения".

напишите хранимую процедуру, чтобы получить имя разрешения и передать параметр username.(Получите это имя пользователя из приложения).

// Код на языке Си#

Внутри кнопки нажмите Вызов хранимой процедуры и проверьте кодировку.
Если условие ложно, то отобразится окно сообщения ("пользователь не имеет доступа")

Спасибо
:)


Murugesan Solaiyappan

Пользователь SQL имеет полное разрешение, я не могу изменить привилегию пользователя sql.