0

Access 97 ラッパー データベース (古い paradox テーブル周辺) からデータを読み取り、それを SQL Server 2012 に挿入する必要があります。リンクされた SQL Server テーブルに変換します。これをより適切に管理する方法についてのご意見をいただければ幸いです。

SQL Server テーブルの 1 つをリンクしましたが、データを挿入できません。リンクされたテーブルは、スキーマ「プッシュ」で「学生」と呼ばれ、これがリンク先のテーブルです。ただし、データを挿入すると「オブジェクト dbo.students が見つかりませんでした」というエラーが表示されます。接続に使用されているユーザー アカウント (「プッシュ」とも呼ばれるユーザー) は、スキーマ「プッシュ」を所有し、デフォルトのスキーマ「プッシュ」を持っているため、dbo に接続しようとしている理由がわかりません。Access の MSysObjects テーブルでは、リンク テーブルの ForeignName が push.students に設定されています。リンクされたテーブルを開くと、push.students から正しいデータセットが表示されます。誰でも助けることができますか?

4

1 に答える 1

0

OK、それは私自身のせいであることがわかりました。

同様の(思われる)問題を抱えている他の人にとって、原因は、(とりわけ)dbo.studentsへのマージを実行するpush.studentsにトリガーを設定したことです。明らかに、トリガーはdbo.students を変更する権限を持たない「プッシュ」ユーザーによって実行されていたため、失敗しました。トリガーを取り外して、すべて並べ替えました!

更新: まだトリガーが必要だったので、別のユーザー (必要なことを実行する権限を持つ dbo アカウント) で実行するように設定しました。これにより、制限された「プッシュ」アカウントにオープンスラーのアクセス許可を与える厄介さを回避できます。

CREATE TRIGGER <schema_name>.<trigger_name>
    <schema_name>.<table_name> WITH EXECUTE AS <user_name>

など 誰かを助けることを願っています!

于 2013-06-26T02:35:09.367 に答える