【问题标题】:Access ODBC linked table to SQL Server allows inserts but not updatesAccess ODBC 链接表到 SQL Server 允许插入但不允许更新
【发布时间】:2010-12-09 03:07:34
【问题描述】:

根据 Web 读数,我建立了一个新的 ODBC 连接,仔细寻找可能建议促进更新的细微配置参数,但没有找到。然后我测试了新链接。

重新测试我的问题:

1) 我在 SQL Server 2005 上创建了下表:

[TestTbl]

column1: Key      Type:Integer
Column2: Name     Type:varchar(5)

填充如下

   Key     Name
   ===     ====
    1      Apple
    2      Bear
    3      Cat

2) 然后在 Access 2007 中,使用我最新的 ODBC 连接创建了指向 SQL Server 表 TestTbl 的链接。

3) 接下来使用链接成功地将以下新记录插入到 SQL Server 表中,并从 Access 2007 执行我的插入:

   Key     Name
   ===     ====
    4      Dog
    5      Elephant

4) 最后我尝试执行以下简单的更新查询:

   UPDATE dbo_TestTable SET dbo_TestTable.TestName = "CatNip"
   WHERE (((dbo_TestTable.TestKey)=3));

我收到错误消息“操作必须是可更新的查询”

5) 出于沮丧,我插入了另一条记录

   Key     Name
   ===     ====
    6      Nonsense

然后我发布了这个问题寻求帮助。

谁能解释一下为什么我可以在链接表中插入新记录但不能更新现有记录?

【问题讨论】:

  • varchar(50) 是 Column2 的数据类型
  • 也许这只是一个错字,但您的列被称为 Key 和 Name 但您的 INSERT 语句引用了 TestKey 和 TestName。
  • 这是一个链接表,是吗?你确定你有主键吗?
  • 使用 Pass Thru Query 解决
  • 检查访问数据库是否不是只读模式。

标签: sql-server ms-access ms-access-2007


【解决方案1】:

您遇到的问题是因为没有定义主键,或者当您在 Access 中链接表时未定义主键。重新添加链接表(删除和添加)并选择一个主键字段,在本例中为 column1

【讨论】:

  • 这很可能是正确答案。以后考虑改用 ADP 文件。
猜你喜欢
  • 2020-02-07
  • 1970-01-01
  • 2012-06-20
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 2011-07-24
  • 2020-01-17
  • 2011-07-10
相关资源
最近更新 更多