tommy-charinko
@tommy-charinko

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

SQLServerのリンクサーバーを利用してAccess(accdb)へ接続したい

解決したいこと

SQLServerのリンクサーバーを利用してAccess(accdb)へ接続したい

例)
SQLserverのリンクサーバーを利用してAccessへ接続を使用としています。
リンクサーバーでAccessへ接続する方法としてプロバイダは「Microsoft Office 16.0 Access Database Engine OLE DB」か「Microsoft OLE DB Provider for ODBC Driver」のどちらかになるかと思いますが、
まず、Microsoft Office 16.0 Access Database Engine OLE DB を利用してAccessへ接続しました。
この時のログイン情報はWindows認証になっています。
この時は問題ないのですが、ログインユーザーを変更して接続がうまくできません。
設定などを変更しているので表にしてみます。

ユーザー Windows認証 testユーザー(SQL認証)
サーバーロール public、sysadmin public
※sysadminをつけていないのは、スキーマ修飾を省くためです。
既定のスキーマ dbo s_test2
ユーザーマッピング データベース名:TEST
ロールメンバー:db_owner、public
データベース名:TEST
ロールメンバー:db_owner、public
※db_ownerをつけているのは、dboのスキーマ修飾を省くためです。

発生している問題・エラー

状態 Windows認証 testユーザー(SQL認証)
セキュリティコンテキストを使用しない 接続OK ログインマッピングが存在しないので、リモートサーバーへのアクセスが拒否されました。
セキュリティコンテキストを使用する 接続OK 「認証に失敗しました」
このセキュリティコンテキストを使用する
リモートログインとパスワードにドメイン\ユーザー名やsaを入力
Not a valid accountname or password Not a valid accountname or password

参考にしたサイト

まとめ

スキーマ修飾を省きたい場合は、sysadminから外さないといけないのですが、リンクテーブルでセキュリティコンテキストを使用しないにするならsysadminにしないと繋がりませんでした。
Access側にはパスワード等設定していないため、セキュリティコンテキストを使用する意図がいまいちわかっていないことも原因の1つだとは思います。

何かヒントとなるサイトなどがあればご教示いただければと思います。

0

No Answers yet.

Your answer might help someone💌