こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

SQL server2005で OLE DB接続できない。Native Clientのみ?

ご存知の方、いらしたら教えていただければと思います。
現在は、S/C型の利用においてDBにAccess2000を使っていますが、様々なところで述べられている危険性に配慮して、SQLserverへの移行をしようとしています。
ちなみにSへはテーブルを配置し、CではExcelからADO/Jet OLE DBを経由して接続しています。
ユーザーにはフロントであるExcelを配布して利用しています。

さて本件ですが、SQLServerに移行しようと考えて、サーバにはExpress editionと接続コンポーネントを、クライアントには接続コンポーネントをインストールしたのですが、勝手が違うのでよくわからないです。
いろいろ試した挙句、ODBCからNative Clientとして接続すると可能であるところまでもってきましたが、もう一歩先に進めないで困っています。
つまり、目指すところは、ADO/OLE DB for SQL server を経由した接続です・・・ODBC経由だと、全てのクライアントに接続コンポーネントをインストールして回らなくてはならないので、大変です。
なにか考え方に誤りがあるのでしょうか、あるいはどこか注意すべきところがあるのでしょうか?よろしくお願いします。
---以下、操作例---
メモ帳の拡張子をudlに変更してデータリンクファイルを作成。
これを開き、プロバイダータブにおいて MS OLE DB Provider for ODBC Driver を選択し、接続タブではサーバー名などを入力して接続テストすると可能である。
他方、プロバイダーにMS OLE DB Provider for SQL server を選択すると接続タブ完結できず、つまり接続できない。

投稿日時 - 2008-05-12 23:09:09

QNo.4017907

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

接続文字列はどうなっていますか?接続先がサーバ名のみ(サーバ名\SQLEXPRESSになっていない)ということではないですよね?

ウチの環境だと・・

Access2002からはODBCのドライバで「SQL Native Client」でも「SQL Server」でも繋がってます。DelphiのADOコンポーネントからは「SQL Native Cliebnt」でも「Microsoft OLE DB Provider for SQL Server」でも接続可です。

(蛇足ですが)後者で「Microsoft OLE DB Provider for ODBC Drivers」では繋いだとこがありません。が、試したところODBCのデータソース定義を指定してちゃんと繋がりました。

ということで「Microsoft OLE DB Provider for SQL Server」でちゃんと繋げてます。言語は違いますが接続の可否は参考になるでしょう。

投稿日時 - 2008-05-13 10:01:50

補足

どうもありがとうございます。
確かに接続先をサーバー名だけにしています。そこでご指摘のように以降を加えてみましたが、やはりダメでした。
---
ODBC接続はできます。
Delphiは無いので確認できませんが、非ODBC接続である例えば次のような操作が完結しません。

http://www.atmarkit.co.jp/fwin2k/win2ktips/404accessmsde/accessmsde.html
上から順に操作していきますと、3.のデータベースの選択でエラーを返されてしまいます。
---
何か思いつくところがあればご指摘頂ければと思います。

投稿日時 - 2008-05-13 20:01:50

お礼

どうもありがとうございました。
やはり回答者様の接続サーバーに関するコメントが正しかったようです。
できるようになりました。(実際の理由はわからないが、今頃になってできるようになった。今となってはスペルを間違えていたとしか考えられない。)

投稿日時 - 2008-07-21 14:17:13

あなたにオススメの質問