为什么我的表名无效?

时间:2010-10-03 18:55:55

标签: sql schema sql-server-ce

这是create语句:

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 个答案:

答案 0 :(得分:3)

的可能性:

  1. dbmonitor是您数据库的名称吗?您不能在表名中添加.
  2. 您的意思是CREATE TABLE dbmonitor.dbo.DBMON_DATABASE_TYPE
  3. 您是否尝试过CREATE TABLE DBMON_DATABASE_TYPE

答案 1 :(得分:1)

我不确定dbmonitor是否是模式名称,但根据SQL CE CREATE TABLE语句的文档,您不能包含具有表名的模式名称。< / p>

对比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 

答案 2 :(得分:0)

这可能不是这个问题标准的答案,但对于那些可能来到这里的人来说:

当您尝试将EntityFramework.Extended库与Sql Server CE一起使用时,也会发生此错误。它们似乎不兼容。

检查以下链接:

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

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