Почему мое имя таблицы недействительно? - PullRequest
1 голос
/ 03 октября 2010

Вот оператор создания:

create table dbmonitor.DBMON_DATABASE_TYPE (
        DATABASE_TYPE_ID BIGINT IDENTITY NOT NULL,
       DispName NVARCHAR(255) null,
       primary key (DATABASE_TYPE_ID)
    )

и вот ошибка, которую я получаю:

13:40:57,685 ERROR [TestRunnerThread] SchemaExport [(null)]- The table name is not valid. [ Token line number (if known) = 1,Token line offset (if known) = 24,Table name = DBMON_DATABASE_TYPE ]
The table name is not valid. [ Token line number (if known) = 1,Token line offset (if known) = 24,Table name = DBMON_DATABASE_TYPE ]

Ответы [ 3 ]

3 голосов
/ 04 октября 2010

Возможности:

  1. Является ли dbmonitor именем вашей базы данных?Вы не можете вставить . в имя таблицы.
  2. Вы имеете в виду CREATE TABLE dbmonitor.dbo.DBMON_DATABASE_TYPE?
  3. Вы пробовали CREATE TABLE DBMON_DATABASE_TYPE?
1 голос
/ 04 октября 2010

Я не уверен, что dbmonitor подразумевается как имя схемы, но в соответствии с документацией для оператора SQL CE CREATE TABLE нельзя включать имя схемы в имя таблицы.

Сравните это с SQL Server 2005 Compact Edition (просто показывая начальную часть инструкции),

CREATE TABLE table_name 
   ( { < column_definition > | < table_constraint > } [ ,...n ] 
   ) 

с этим для SQL Server 2008:

CREATE TABLE 
    [ database_name . [ schema_name ] . | schema_name . ] table_name 
0 голосов
/ 05 октября 2014

Это может быть не совсем ответ для критериев этого вопроса, но для тех, кто может получить здесь:

эта ошибка также может произойти при попытке использовать библиотеку EntityFramework.Extended с Sql Server CE.Кажется, что они не совместимы.

проверьте эти ссылки:

https://github.com/loresoft/EntityFramework.Extended/issues/35

https://github.com/loresoft/EntityFramework.Extended/issues/11

...