【问题标题】:Error Throw when Table Creation创建表时抛出错误
【发布时间】:2015-12-03 05:36:41
【问题描述】:

在我的应用程序中,我使用以下代码通过 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()

我收到一个错误

长值数据类型不能被索引

我在这里做错了什么?

如何解决?

【问题讨论】:

  • 我认为问题在于您在主键中使用了tablename ntext - 不要这样做!不要将这样的 long 列放入主键中!使用INT 或BIGINT 或其他东西 - 不是三列的组合,中间有一个ntext....如何解决?只是不要将 ntext 列放在索引中 - 正如错误非常清楚地表明......

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


【解决方案1】:

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

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

如何解决? 只是不要将ntext 列放在索引中 - 正如错误非常清楚地表明...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-14
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    相关资源
    最近更新 更多