none
Windows8.1からSQLServer6.5への接続 RRS feed

  • 質問

  • Windows8.1Pro64bitから、SQLServer6.5へ接続した場合、以下のエラーメッセージが出て接続ができません。

    ODBCの場合:

    SQLState:08002 SQLServer6.5以前のバージョンはすべてサポートされていません。

    ADO2.0~7(VB6.0から):

    -2147467259 DBMSのバージョンが7.0.0よりも古いため、データソースを使用できません。

    ・Windows8.1Pro32bitからも同様のエラーである事は確認済み。

    ・Windows7 Pro 32bitからは正常に接続できる事は確認済み。

    なんらかの方法(例えば、何かしらをインストールする。何か設定を変更する。)で、Windows8.1から、SQLServer6.5に接続する方法をご存じの方がいればご教授頂ければと思います。

    宜しくお願い致します。

    2014年9月25日 10:49

すべての返信

  • 回答ではないのですが、自分も同様の状況で困っています。

    ちなみに、Windows7 Pro 64bit では、正常に接続できていました。


    2014年10月6日 7:59
  • 少し調べてみた限りでは、ADO で接続するコードに変更するしか無いようです。

    2014年10月7日 0:18
  • ご回答ありがとうございます。

    質問にも記載していますが、ADOでもエラーが発生する様です。

    具体的にはVB6.0のプログラムからSQLServer6.5に接続しようとしています。VB6.0のプログラムはADO(Microsoft ActiveX Data Objects)で接続しており、その場合に下記のエラーとなります。

    -2147467259 DBMSのバージョンが7.0.0よりも古いため、データソースを使用できません。

    VB6.0の参照設定で、ADOのバージョンを幾つか選択できる様ですが、一番古そうな2.0を選択しても同様のエラーでした。


    で、ADOだけかと思い、試しにODBCで接続を行ってみたところ、若干文言は違いますが、同じ意味の以下のエラーがとなります。

    SQLState:08002 SQLServer6.5以前のバージョンはすべてサポートされていません。

    もし、 藤森幸治さんの仰ってる、「ADO で接続するコード」というのが、「VB6.0でADOを参照設定して接続する」というのと違う意味であれば具体的に教えて頂ければと思います。

    2014年10月7日 2:50
  • 環境が無いので確認出来ませんが

    OLE DB is the Answer!

    Set db = New ADODB.Connection

    db.Open "Provider=sqloledb;Data Source=(local);Initial Catalog=myDB;User ID=myUser;Password=myPass"

    こんな感じでしょうか。

    2014年10月10日 1:26
  • ご回答ありがとうございます。


    教えて頂いた方法にソースを書き変えてみましたが、残念ながら同じエラーとなってしまいます。


    -2147467259 DBMSのバージョンが7.0.0よりも古いため、データソースを使用できません。


    やはり、Windows8.1からSQLServer6.5への接続は無理なのでしょうか・・・

    2014年10月14日 7:11
  • 自己レスです。

    下記URLの「SQLServer」のセクションを見ると、WindowsServer2012ではエラーとなる事が明記されています。

    2012と同じレベルのクライアントOSがWindows8だとすると、しょうがないのかもしれませんね・・・。

    http://technet.microsoft.com/ja-jp/library/hh831568

    どなたか裏技的に抜け道をご存じの方がいれば教えて頂ければと思います。

    2014年10月14日 11:13
  • ご回答ありがとうございます。

    残念ながらダメでした。

    上記記事のパッチを試しに適用してみようとおもったのですが、Win8.1には適用できませんでした。(32bit版、64bit版の何れのパッチもインストールで証明書のエラー)

    また、上記記事中に、『パッチを適用したら「Microsoft ActiveX Data Objects 6.1 Library」が表示される様になる』と記載されていますが、Win8.1は最初から「Microsoft ActiveX Data Objects 6.1 Library」が表示されている状態なので、おそらくこのパッチはデフォルトで適用済みと思われます。

    今回のSQLServer6.5に接続できない現象をよく観察すると、参照設定でどのバージョンのADOを選択しても、同じエラーで同じメッセージが表示される事から、おそらく参照しているADOがエラーとしているというよりは、ADOのDLLのその先にあるもっとOSよりのDLLや機能でエラーとされていると思われます。(それが何なのかはわかりませんが・・・)

    つまり、古いADOとか特殊なADOをインストールしても、結果的に全てそこで弾かれる様な気がします。

    2014年10月15日 10:36
  • 自己レスです。

    ちなみに、『古いOS(WinXP)でコンパイルしたEXEならばもしやつながるのでは?』と思いやってみましたがダメでした。

    当然ながら、

    ・Win8.1でコンパイルしたEXE⇒ダメ。

    ・Win8.1上の開発環境(デバック)⇒ダメ。

    徹底したチェック機能です。

    2014年10月15日 10:56