2016-12-23 1 views
1

У меня проблема в моем проекте MVC. В общем, я хотел, чтобы мой проект ASP.NET MVC использовал две разные базы данных. Эти две базы данных являются идентичными, а именноORA-01031: ошибка недостаточных привилегий в asp.net mvc

а) количество таблиц,

б) наименование таблиц,

с) структура столбца таблиц одинаковы. Одна из них - производственная база данных, другая - тестовая база данных.

Как вы знаете, информация, подключение к базе данных производства определяется в App.Config применения данных:

<add name="SampleEntities" connectionString="metadata=res://*/VeriKlasoru.CptModel.csdl|res://*/VeriKlasoru.CptModel.ssdl|res://*/VeriKlasoru.CptModel.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string=&quot;DATA SOURCE=SOURCE;PASSWORD=PASSWORD;USER ID=USERID&quot;" providerName="System.Data.EntityClient" /> 

добавить информацию подключения к базе данных теста как раз под ним:

<add name="SampleEntitiesTest" connectionString="metadata=res://*/VeriKlasoru.CptModel.csdl|res://*/VeriKlasoru.CptModel.ssdl|res://*/VeriKlasoru.CptModel.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string=&quot;DATA SOURCE=SOURCE;PASSWORD=PASSWORDTEST;USER ID=USERIDTEST&quot;" providerName="System.Data.EntityClient" /> 

и я изменил код файла edmx за таким же образом:

public CptEntities() 
     : base("name=SampleEntitiesTest") //It was SampleEntities 
    { 
     Database.SetInitializer<CptEntities>(null); 
    } 

Когда я пытаюсь подключить базу данных, я получаю сообщение об ошибке: ORA-01031: ошибка недостаточных привилегий Как я могу ее преодолеть?

Заранее спасибо.

Update 1:

Мы испробовали все опции привилегий, но никакого решения. Только решение, которое мы можем найти, разделяет исходный код на три разные папки: «Dev», «Test» и «Live». Я копирую каждый элемент кода в тестовую папку, и я удаляю файл edmx, и я воссоздаю его в папке Test, и он работает.

+2

Имея одинаковое количество таблиц и имен does't делают две базы данных идентичны. Вы должны проверить, имеет ли подключаемый пользователь соответствующие привилегии в тестовой базе данных, которую вы пытаетесь подключить. Используйте 'select * from dba_role_privs, где requestee = 'USERTEST'', чтобы проверить предоставленные привилегии для пользователя. – JSapkota

+1

Вы выполнили 'GRANT ALL ON TO [USERIDTEST] WITH GRANT OPTION' на другой базе данных сущностей, чтобы предоставить ему' USERIDTEST' полные привилегии? Ошибка 01031, которую может выбросить из EF, пыталась создать таблицу у данного пользователя, которая имеет недостаточную привилегию. –

+0

Jsapkota; "select * from dba_role_privs" выдает мне сообщение об ошибке "ORA-00942: таблица или представление не существует". Есть ли проблема с запросом? – tahasozgen

ответ

0

может быть, вы не имеете права войти в оракул (create session privileges)

проверить ваш privileges как это:.

select * from dba_role_privs where grantee='your_user' 
+0

Нет, это не проблема с привилегиями, ни создание сеанса, ни привилегии администратора. – tahasozgen

Смежные вопросы