質問者
Windows8.1からSQLServer6.5への接続

質問
-
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に接続する方法をご存じの方がいればご教授頂ければと思います。
宜しくお願い致します。
すべての返信
-
ご回答ありがとうございます。
質問にも記載していますが、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を参照設定して接続する」というのと違う意味であれば具体的に教えて頂ければと思います。
-
環境が無いので確認出来ませんが
Set db = New ADODB.Connection
db.Open "Provider=sqloledb;Data Source=(local);Initial Catalog=myDB;User ID=myUser;Password=myPass"
こんな感じでしょうか。
-
自己レスです。
下記URLの「SQLServer」のセクションを見ると、WindowsServer2012ではエラーとなる事が明記されています。
2012と同じレベルのクライアントOSがWindows8だとすると、しょうがないのかもしれませんね・・・。
http://technet.microsoft.com/ja-jp/library/hh831568
どなたか裏技的に抜け道をご存じの方がいれば教えて頂ければと思います。
- 回答の候補に設定 Yoshihiro MATSUMOTOMicrosoft employee 2014年12月19日 0:41
-
ご回答ありがとうございます。
残念ながらダメでした。
上記記事のパッチを試しに適用してみようとおもったのですが、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をインストールしても、結果的に全てそこで弾かれる様な気がします。