Table 创建时抛出错误

Error Throw when Table Creation

在我的应用程序中,我使用以下代码通过 vb.net 创建了一个 SQL Server Compact table:

 Dim connStringCS As String = "Data Source= Test.sdf; LCID= 1033; 
 Case Sensitive=true"

 Dim xconn As New SqlCeConnection(connStringCS)
 xconn.Open()
 Dim xcmd As New SqlCeCommand()
 xcmd.Connection = xconn
 xcmd.CommandText = "CREATE TABLE datalog(schema_oid binary NOT
 NULL,tablename ntext NOT NULL, " _
 & " refno nvarchar(30) NOT NULL, lastupdated datetime NOT NULL,
 status nvarchar(1) NOT NULL , " _
 & " PRIMARY KEY (schema_oid,tablename,refno)) "

 xcmd.ExecuteNonQuery()

我收到一个错误

Long value data type cannot be indexed

我做错了什么?

如何解决?

我认为问题在于您在主键中使用了 tablename ntext 列 - 不要这样做!不要将这么长的列放入主键中!这真是个坏主意。

使用 INTBIGINT 或类似的东西 - 而不是三列的组合,中间有一个 ntext....

如何解决? 只是不要将 ntext 列放在索引中 - 正如错误中明确指出的那样...