2

土台を築くだけです:

  • 64 ビット Windows サーバーには、SQL Server 2008 R2 の 64 ビット インストールがあります。
  • 同じマシンに 32 ビット バージョンの SQL Server Express をインストールしました
  • 32 ビット Express バージョンを使用して、次のように Timberline データ ストアへのリンク サーバーを正常に作成しました。

    EXEC sp_addlinkedserver
         @server = 'TimberlineTest',
         @provider = 'MSDASQL',
         @srvproduct='Timberline Data',
         @datasrc = 'TimberlineDSN'
    

次に、すべてのテーブルを返します。

exec sp_tables_ex 'TimberlineTest'

また、次のようにユーザーを作成しました。

EXEC sp_addlinkedsrvlogin
 @rmtsrvname = 'TimberlineTest',
 @useself = 'False',
 @rmtuser = 'sa',
 @rmtpassword = 'xxxxxx'
GO

また、SSMS クエリ ウィンドウ内で、マスター データベースに対して実行すると、これはうまく機能します。

select * from timberlinetest.[c:\Training\Extended]..Master_PRM_Employee

SSMS 内からクエリを実行する限り、すべてが正常に機能します。ただし、そのリンク サーバーにアクセスしようとする可能性のあるサードパーティ ツールを起動すると、問題が発生し始めます。接続文字列を入力してクエリを実行できる小さなクエリ テスト ツールがあります。この接続文字列を使用して、最初にマスター データベースにアクセスします。

Provider=SQLOLEDB; Data Source=localhost\SQLEXPRESS32BIT; Libraries=Master; User ID=sa; Password=xxxxxx

その接続は機能し、サーバーに ping を実行してマスター データベースにクエリを実行できます。しかし、同じ Timberline クエリ (select * from timberlinetest....) を試すと、次のエラーが発生します。

リンク サーバー "timberline test" の OLE DB プロバイダー "MSDASQL" のデータ ソース オブジェクトを初期化できません。リンク サーバー "timberline test" の OLE DB プロバイダー "MSDASQL" から、"[Sage Timberline Office][Sage Timberline Office ODBCDriver][DRM File Library] 無効なアカウント名" というメッセージが返されました。

注意すべき点がいくつかあります...テスト目的で:

  • ディレクトリc:\Training\Extendedで、セキュリティ全体を開き、Everyone完全な読み取り/書き込み権限に設定します
  • Timberline 自体で、セキュリティを無効にしました ([ツール] > [セキュリティ管理者] > [セキュリティ設定] > [アプリケーション セキュリティを有効にする] のチェックを外しました)。

ここで他に何をすべきかわかりません。どんなアドバイスも素晴らしいでしょう。

4

1 に答える 1