2016-12-14 7 views
1

Я пытаюсь создать базу данных, схемы и таблицы через C# код и до сих пор я успешно созданную базу данных, но получаю ошибку при создании схемы:Получение ошибки при создании ДБО схемы программно

Я пытаюсь создать ниже схемы :

1) Person 
2) Production 
3) Sales 
4) dbo 

Теперь некоторые таблицы имеют схему, как лица и некоторые таблицы имеют схему, как DBO и поэтому при создании таблиц я хотел бы, чтобы таблицы, чтобы иметь соответствующую схему.

enter image description here

Я не получаю сообщение об ошибке при создании Person, производство и продажа схемы , но я получаю ошибку при создании схемы для DBO.

Error:The specified schema name "dbo" either does not exist or you do not have permission to use it.CREATE SCHEMA failed due to previous errors.

Код: Это мой код:

conn.Open(); 
foreach (var item in schemaList) 
        { 
         sqlQuery = "CREATE SCHEMA " + schema; 
         using (SqlCommand cmd = new SqlCommand(sqlQuery, conn)) 
        { 
         cmd.CommandTimeout = 0; 
         cmd.ExecuteNonQuery(); 
        } 
        } 
    conn.Close(); 

Почему это разрешение проблемы Doesnt приходит в случае создания другой схемы и почему речь идет только при создании ДБО схемы.

+0

Схема 'dbo' (и несколько других) всегда существует в любой базе данных. Таким образом, он не может быть создан. –

ответ

2

ДБО схема создается по умолчанию в базе данных, и вы не можете создать его заново. Получить список всех схем с использованием:

SELECT name FROM sys.schemas 

Или

SELECT SCHEMA_NAME FROM 
INFORMATION_SCHEMA.SCHEMATA 

Кроме того, если я могу, ваши имена таблиц больше похожи на колонны для меня. Вы можете пересмотреть, как вы используете схемы, таблицы и способ общения с вашим SQL-сервером с помощью кода C#

1

Существуют встроенные встроенные схемы по умолчанию, созданные sql servere. пользователь не может удалить их или создать эту схему. Под схемой встроены.

  1. ДБО
  2. гость
  3. SYS