SQL 2008 で Advantage v7 データベース サーバーへのリンク サーバーを作成しようとしています。以下のコマンドを使用して、SQL 2008 でリンク サーバーを正常に作成しました。接続は問題なくテストされます。また、接続している Advantage DB にはデータ ディクショナリがありません。
リンクサーバーを作成するためのSQL
EXEC master.dbo.sp_addlinkedserver
@server = N'ADVANTAGE', @srvproduct=N'Advantage',
@provider=N'Advantage.OLEDB',
@datasrc=N'\\asc1\questtest$\spaulrun'
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname=N'ADVANTAGE',
@useself=N'False',
@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
次のクエリを実行すると:
select * from
openquery(ADVANTAGE,'select * from members')
次のエラーが表示されます。
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "Advantage.OLEDB" for linked server "ADVANTAGE" reported an error. Access denied.
Msg 7350, Level 16, State 2, Line 1
Cannot get the column information from OLE DB provider "Advantage.OLEDB" for linked server "ADVANTAGE".
これが NT ファイルのアクセス許可の問題ではないことを確認しました。また、エラー メッセージが表示される直前に、画面にすべての列名が一瞬だけ表示されます。したがって、少なくともいくつかのテーブル情報を Advantage から取得しています。アクセス拒否メッセージが表示される理由がわかりません。
どんな助けでも大歓迎です!