そこで、リモートAccessデータベースに接続するためにSQLServerにsp_linkedserverを設定しました。
このデータベースへのパスがW:/breakfast/pancakes/secretPancakes/pancakeDB.accdbであると想定します。
実際のデータベースのユーザー名とパスワードはわかっています
パスワード:allY0urPancakeAreBelongToUs!
問題は、「secretPancakes」ディレクトリに入る認証もあるということです。
この認証は
ユーザー名:SuperChef
パスワード:ilovesf00d
sp_linkedserverを作成するためのコードは次のとおりです...
/****** Object: LinkedServer [PancakeDB] Script Date: 06/13/2012 10:08:21 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'PancakeDB', @srvproduct=N'Access 2007', @provider=N'Microsoft.ACE.OLEDB.12.0', @datasrc=N'W:/breakfast/pancakes/secretPancakes/pancakeDB.accdb
', @provstr=N';PWD=allY0urPancakeAreBelongToUs'
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'PancakeDB',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
rmtuserとrmtpasswordはデータベース用ですが、正しいですか?実際のコンピューターで保護されたディレクトリ(secretPancakes)を開き、Windowsに自分の資格情報を記憶するように依頼すると、自分のコンピューターでは正常に機能しますが、他のコンピューターでは機能しません。
私はこれを修正しようとしているので、objNetwork.MapNetworkDrive(DriveLetter、RemotePath、False、UserID、UserPWD)を実行する必要はありません。これは面倒です。(objNetwork = Microsoft.VisualBasic.CreateObject( "WScript.Network"))
だから私の質問は:リンクされたサーバー内のフォルダアクセスの資格情報をどのように渡すのですか?
更新:このスクリーンショットは役立つかもしれません...?
また、これは、これらのクレデンシャルを、そのフォルダーに正しく入るために使用されるクレデンシャルに変更する場所ですか?