表创建时出错

时间:2015-12-03 05:36:42

标签: vb.net sql-server-ce create-table

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

 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()

我收到错误

  

长值数据类型无法编入索引

我在这里做错了什么?

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

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

使用INTBIGINT或类似的内容 - 不是三列的组合,中间有ntext ....

如何解决?只是不要在索引中放置ntext列 - 因为错误确实清楚地说明了......