【发布时间】:2014-02-12 00:29:22
【问题描述】:
我正在将 Access 2010 数据库升级到 SQL 服务器。有一个可更新的“制作表”查询运行以创建一个表并填充它。目前,它在另一个 ACCDB 文件中填充一个后端表。我已将所有后端表移至 SQL Server 并尝试更改查询以在 SQL Server 上创建表。
我从 Destination DB 属性中删除了 ACCDB 文件的路径,并在 Dest Connect Str 属性中放入了一个 ODBC 连接字符串。
当我运行查询时,我得到了错误
ODBC 调用失败 数据库中已经有一个对象名 'MyTableName' (#2714)
我先删除 SQL 服务器上的表,然后运行它的查询。如果使用本地表,它将正确删除该表,重新创建它,然后填充它。使用 ODBC 连接似乎无法先将其删除,从而使 Make Table 无用。
我在 Access 中将远程表配置为链接表,希望有一种方法可以直接使用它,而无需再次重新指定连接字符串。这似乎也不可能。
寻找此问题的解决方案或任何可能的替代方案。我有近 20 个此类查询。
【问题讨论】:
-
当您说“进行表查询”时,是一系列 SQL 查询(可能在一个过程中?),还是我们在谈论 VBA 或其他什么?如果列保持不变,您可能需要考虑切换到
TRUNCATE而不是删除表。 -
这是一个名为“制作表”的 Access 查询选项,它将在其中运行查询并创建表并填充表。 Is 只是 Access 通过在其查询生成器、向导等中填写其他属性创建的单个 SQL 查询。
-
@Ron 如果您可以从“生成表”转换为“追加查询”,请按照 jpmc26 的建议清空目标表,然后执行追加。
-
不是访问专家,所以需要看看查询是如何被调用的,看看我是否可以在调用它之前挂钩并做空。希望 Access 会为此提供某种类型的挂钩。希望我可以修改查询并按原样工作,而不必返回调用和修改位置的代码,但可能没有这么幸运;)thx