Access 97和SQL Server

时间:2013-06-26 01:44:54

标签: ms-access odbc sql-server-2012

我需要从Access 97包装器数据库(在旧的paradox表周围)读取数据并将其插入到SQL Server 2012中。到目前为止,我找到的最简单的方法是在Access 97中编写一个管道数据库来检索访问权限数据并将其插入到链接的SQL Server表中。关于如何更好地管理这一点的任何想法将不胜感激。

我已经链接了一个SQL Server表,但它不允许我插入数据。链接表在模式“推送”中称为“学生”,这是我链接到的表。但是,我插入数据时得到的错误是“找不到对象dbo.students”。用于连接的用户帐户(也称为'push'的用户)拥有架构'push'并且具有默认架构'push' - 所以我不知道它为什么尝试连接到dbo。在Access中的MSysObjects表中,链接表的ForeignName设置为push.students。当我打开链接表时,我可以从push.students中看到正确的数据集。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

好的,事实证明这是我自己的错。

对于其他有类似(看似)问题的人来说,原因是我在push.students上设置了一个触发器,它将合并(以及其他东西)运行到dbo.students中。显然,触发器是由'推送'用户执行的,有权修改dbo.students - 因此失败。删除了触发器,它全部排序!

<强>更新 我仍然需要触发器,因此我将其设置为在不同的用户下运行 - dbo帐户有权执行需要执行的操作。这避免了为我的受限“推送”帐户提供开放式权限的麻烦:

CREATE TRIGGER <schema_name>.<trigger_name>
    <schema_name>.<table_name> WITH EXECUTE AS <user_name>
希望能帮到某人!