【问题标题】:Why is my table name not valid?为什么我的表名无效?
【发布时间】:2014-10-06 01:07:10
【问题描述】:

这里是创建语句:

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 ]

【问题讨论】:

  • 你不能为你的桌子选择另一个名字并完成它吗?
  • 我看到你接受了一个答案(我的),但解决方案是什么?

标签: sql schema sql-server-ce


【解决方案1】:

可能性:

  1. dbmonitor 是您数据库的名称吗?您不能将. 放在表名中。
  2. 你的意思是CREATE TABLE dbmonitor.dbo.DBMON_DATABASE_TYPE
  3. 你试过CREATE TABLE DBMON_DATABASE_TYPE吗?

【讨论】:

    【解决方案2】:

    我不确定 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 
    

    【讨论】:

      【解决方案3】:

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

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

      检查这些链接:

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

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

      【讨论】:

        猜你喜欢
        • 2014-06-11
        • 2020-06-07
        • 1970-01-01
        • 1970-01-01
        • 2013-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-20
        相关资源
        最近更新 更多