2010-10-03 138 views
1

这里是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 ] 
+0

你就不能选择另外一个名称为您的表,并用它做什么? – thomaspaulb 2010-10-03 22:06:35

+0

我看到你接受了一个答案(我的),但是哪个解决方案? – egrunin 2010-10-04 16:29:16

+0

期间部分(#1) – 2010-10-04 16:40:23

回答

3

可能性:

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

我不知道,如果dbmonitor,就是要架构名称,但根据文档对于SQL CE CREATE TABLE语句,您不能在表名中包含模式名称。

对比这对于SQL Server 2005精简版(只显示了声明的初始部分),

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

与此为SQL Server 2008:

CREATE TABLE 
    [ database_name . [ schema_name ] . | schema_name . ] table_name