none
OPENROWSET時のエラーについて RRS feed

  • 質問

  • 初めて投稿させていただきます。よろしくお願いします。

     

    開発環境 OS:WindowsXPsp2

           VB:VB6sp6

     

    アプリケーション内でAccess97からSQLServerへデータを流し込むことをしています。

     

    INSERT INTO <テーブル名([フィールド名1],[フィールド名2])> 

    SELECT [フィールド名1],[フィールド名2]

    FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', <ファイルパス> ;'admin';'',<テーブル名>)

     

    いままでも使用しており、その時の動作環境(下記参照)では問題なく動作していました。

     

    WindowsXPsp2を含む以前のOSで

    Access97からMSDE / Access97からSQLServer2000

     

    しかし、SQLServer2005及びWindowsVistaでの動作環境でテストを行っているところで問題が発生しました。

    テスト内容・結果は以下の通りです。

     

    ① WindowsXPsp2 にて Access97からSQLServer2005     NG

    ② WindowsVista  にて Access97からSQLServer2005     OK

     

    ①の時にエラーが表示されます。

    エラー内容は、

     

    37000:[Microsoft][ODBC SQL Server Driver][SQL Server]リンクサーバー"(null)"のOLE DBプロバイダ

    "Microsoft.jet.OLEDB4.0"のデータソースオブジェクトを初期化できません。7303

     

    01000:[Microsoft][ODBC SQL Server Driver][SQL Server]リンクサーバー"(null)"のOLE DBプロバイダ

    "Microsoft.jet.OLEDB4.0"からメッセージ"''は既に使用されているので使用できませんでした。"が返されました。7412

     

    です。

     

    いろいろエラーについて調べたところ、 Temp フォルダへのフル アクセスを許可するといった内容にたどり着き、

    手動でフルアクセスを許可すると確かに実行されます。

    しかし、他の環境では問題なく動作していることと、手動でフルアクセスにしなくてはならないことが

    問題となっています。

     

    SQLServerはSQLServer認証で、パスワードを設けてあります。

    Accessに関してはパスワードはありません。

     

    大変分かりにくい説明ではあると思いますが、

    この問題に関しまして、解決方法や回避方法がございましたら

    ご教授くださいますよう宜しくお願いいたします。

    2008年1月22日 5:47

すべての返信

  • Access97からSQLServer2005への流し込みは同一マシン上なのでしょうか?

     

    はっきりわかりませんが、とりあえずJetやSQL Server2005のサービスパックはどのような状況なのでしょうか?

     

    Microsoft Jet 4.0 データベース エンジン用の最新の Service Pack の入手方法
    http://support.microsoft.com/kb/239114

    2008年1月22日 15:29
    モデレータ
  • trapemiyaさん

     

    返信ありがとうございます。

    説明が不足しており申し訳ございません。

     

    Access97からSQLServer2005への流し込みは同一マシン上で行っています。

    (将来的にはネットワークを介した他のマシンへの流し込みも必要なのですが、今回は同一マシン上に限定したいと思います。)

    (いろいろ確認している中で、他マシンへの流し込みテストも行いましたが失敗しました。)

     

    ・Msjet40.dll の サービスパックは XPは「4.0.8618.0」  Vistaは「4.0.9635.0」で、最新の状態になっています。

    ・SQLServer2005 は 「ExpressEdition SP2」 です。

     

    問題内容の繰り返しになりますが、

    VistaとXPsp2では、OSの違いによりサービスパック等のバージョンが変わってくるとは思うのですが、

    同様にインストールを行い、同様のテストをした結果、XPsp2の方ではエラーになります。

     

    2008年1月23日 1:18