在我的应用程序中,我使用以下代码通过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()
我收到错误
长值数据类型无法编入索引
我在这里做错了什么?
如何解决这个问题?
答案 0 :(得分:0)
我认为问题在于您使用主键中的tablename ntext
列 - 不要这样做!不要把这么长的专栏放到主键上!这真是个坏主意。
使用INT
或BIGINT
或类似的内容 - 不是三列的组合,中间有ntext
....
如何解决?只是不要在索引中放置ntext
列 - 因为错误确实清楚地说明了......