• 締切済み

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 を選択すると接続タブ完結できず、つまり接続できない。

みんなの回答

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.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」でちゃんと繋げてます。言語は違いますが接続の可否は参考になるでしょう。

aquleaf
質問者

お礼

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

aquleaf
質問者

補足

どうもありがとうございます。 確かに接続先をサーバー名だけにしています。そこでご指摘のように以降を加えてみましたが、やはりダメでした。 --- ODBC接続はできます。 Delphiは無いので確認できませんが、非ODBC接続である例えば次のような操作が完結しません。 http://www.atmarkit.co.jp/fwin2k/win2ktips/404accessmsde/accessmsde.html 上から順に操作していきますと、3.のデータベースの選択でエラーを返されてしまいます。 --- 何か思いつくところがあればご指摘頂ければと思います。

関連するQ&A

  • VC++からSQL Server 2008への接続

    現在ODBCを使用してSQL Serverと接続しています。 ODBCだとそれを使用するマシン全てにODBCの設定をしないといけないため、ODBCの使用を避けようと思っております。 そこで、ODBC以外を使用して、マシンへの設定等も必要がない、SQL Serverと接続するものを探しております。 開発言語はVS2010のVC++です。 DBはSQL Server 2008です。 ADOとODBCであれば、providerに直接指定することで、ODBCの接続なしにSQLに接続できると耳にしたのですが、 やり方がわかりません(VBのページがやたら出てくる) いい接続方法はありますでしょうか? また、その構文例、参考ページがありましたらご教授頂けたらと思います。 よろしくお願い致します。

  • SQL Serverのエラーについて

    サーバーの環境 OS:MS Windows NT Server 4.0 DB:MS SQL Server6.5 SQL Server 6.5 Service Pack 5a Windows NT 4.0 Service Pack 6a Internet Information Server 4.0 Internet Explorer 5.5 SQL Serverにクエリーを実行すると以下のエラーが発生します。 解決方法をご存知の方いましたらご教授願います。 Microsoft OLE DB Provider for ODBC Drivers エラー '80040e14' [Microsoft][ODBC SQL Server Driver][SQL Server]行のサイズが 2107 になり、作業テ-ブルの作成に失敗しました。テ-ブル 2014 内の 1 行の許容サイズを超えます。

  • MFC ADOでSQL Serverに接続するには

    初心者の初めての質問です。ご教授よろしくお願いします。 開発環境は Microsoft Visual Studio Term System 2008 OS XP SP3 Microsoft SQL Server 2005 です。 VC++ MFC、SQL Serverでプログラムを組んでいるのですが、 今DB接続に困っています。 「Provider=MSDASQL;DSN=DB名;UID=ID;PWD=PassWord」の文字列を使ってDBとの接続ができますが、 一回目のトランザクションが失敗します。 エラー内容は 「 DbConnection::Transaction COM Error:80004005 Source:Microsoft OLE DB Provider for ODBC Drivers エラーを特定できません 」 です。 解決方法を教えて頂ければ幸いです。

  • MySQL/DBサーバって、MySQL/DBクライアントみたいなものりますか?

    Linux+Apache+MySQLでサイト構築を検討しています。 MySQL/DBって、ORACLE8で言うところの、 いわゆる「Net8クライアント」のようなものってあります? 実は、今まで、NT+MS-SQLServer7でサイト構築してたのですが、 Linuxで再構築することとなっちゃいました。 で、MS-SQLServer7だったら、クライアントPCから、 GUIを使って、データベースのデータを簡単に変更することができます。 しかし、LinuxではMS-SQLServerは使えないので、じゃぁ、ORACLEって手もありますね。 そこで、ORACLEだったら、Net8があるので、多分、 上記のような使い方もできると思うのですが、 ORACLEは、導入コストが高すぎるので、却下されてしまいました。 で、Linux+MySQLにしようかと・・・。 しかし、サーバ機にLinux+MySQL/DBを構築するのはいいのですが、 Windowsなどのクライアントから、ORACLEでいうNet8でODBCのような接続で、 Microsoft-Accessなどを使って、データベースのデータを編集させたいんです。 よろしくお願いします!

  • SQL Serverへの接続ができません

    お恥ずかしながら、何か根本的なことが解っていないので、困っております、どなたかご教授くださいませ。 [環境] VB6+ADO2.7+SQL Server2000(又はMSDE)でシステムを構築しています。 [開発環境] 社内で開発していた時は、各PCにSQL Server2000のCDからクライアントツールをインストールしています。 開発環境ではサーバーへの接続はうまくいっております。 [困ったこと] Install Shield Expressで顧客用のSETUPファイルを作成してADO等の必要なファイルはインストールしているのですがいるのですが、接続できません。 あらかじめクライアントに何か設定しておく必要があるのでしょうか? いろいろ調べてみるとudlファイル?かODBC?と訳がわかりません。 開発環境のODBC画面には何もありませんので、udlかとは思うのですが、サーバーを参照させるにはどうしたらいいのでしょうか?

  • クライアントからサーバのDBに接続できない

    いつも参考にさせていただいております。 【質問内容】 サーバにMySQLをインストールして、そのDBにクライアントからAccessなどをフロントエンドとして使いたいと思っています。 しかしODBCの接続テストでエラーになってしまいます。 知識不足は否めませんが、何か指摘がございましたらお願いします。 【環境】 ■サーバ側 OS:Windows2000Server DBMS:MySQL4.0.21 ■クライアント OS:WindowsXPSP2 ODBC:MySQL ODBC 3.51.04

    • ベストアンサー
    • MySQL
  • ASP 0x80004005 クライアントとの確立で失敗

    いつもお世話になっています。 つい昨日まで、対SQLserverにDB取得が出来ていたのですが、今日になって下記のエラーが発生してしまいました。 IISは匿名アクセスにはチェックが入っている状態です。 なぜこのような現象になるか全く掴めなくて困っております。 ----------------------------------------- エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC SQL Server Driver]クライアントの接続が確立できません ----------------------------------------- どなたか、ご教授をお願いいたします。 設定の確認事項は補足を入れていただければ、早急にお答えいたします。

  • SQLServerへのOpen命令でのエラー

    お世話になります。 ASPの画面からSqlServerにADO経由で接続しているのですが、 時々、Openでエラーとなってしまいます。  oRS.Open "TBL_NAME", 接続情報, 3, 3   → この命令でエラーとなってしまいます。  エラー内容は  「Microsoft OLE Provider for ODBC Drivers (0x80040E14)   [Microsoft][ODBC SQL Server Driver][SQL Server]'TBL_NAME' は テーブル オブジェクトなので、   要求 プロシージャ 'TBL_NAME' は失敗しました。」  と表示されます。 開発環境は以下  OS:Windows2000  データベース:SQLServer2000 となっております。 何方か、ご存じの方がいらっしゃいましたら、お教え願います。 宜しくお願い致します。

  • DB接続ができなくなって困っています!

    いつも参考にさせていただいております。 今回、自宅のPCに構築した開発環境のDBに、急に接続できなくなりました。 ==================================== 【開発環境】※ASP環境 OS :windows 8 IIS:8.0 DB :(1)MySQL 5.5.32   ※「mysql-connector-odbc-5.2.5」もインストール済。  (2)Access2013 ==================================== 先日まで、問題なくDBに接続できていましたが、寝ぼけて何かの設定を変えてしまいました。 ※恥ずかしながら、気づいたら設定変更後で何の設定を変えたのか不明です。。。 すると、今まで正常に接続できていたMySQLとAccessが、以下のエラーで接続できなくなりました。 ==================================== 【MySQL接続】 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。 【Access接続】 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Driver Manager] 指定された DSN には、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています ==================================== なお、接続箇所のロジックは以下となります。 ==================================== 【MySQL接続】 Set oCn = Server.CreateObject("ADODB.Connection") oCn.Open UDL_FILE(※1), "", "" ※1 上記「UDL_FILE」は、以下の内容を設定しているUDLファイルを読み込んでいます。 ------------------------ [oledb] ; Everything after this line is an OLE DB initstring PROVIDER=MSDASQL;DRIVER={MySQL ODBC 5.2 Unicode Driver};SERVER=localhost;USER=hogeU;PASSWORD=hogeP;DATABASE=hoge; ------------------------ 【Access接続】 Set poCnMdb = Server.CreateObject("ADODB.Connection") poCnMdb.Open DNS(※2), "", "" ※2 上記「DNS」は、ODBCデータソース アドミニストレーター(32bit版)で登録したシステムDSNです。 ------------------------ ドライバー:Microsoft Access Driver(*.mdb) ------------------------ ==================================== MySQLやODBCドライバーの再インストールを試みましたが、上記エラーが解消されません。 自業自得なのは重々承知しておりますが、復旧できなくて大変困っています。 お忙しいところ申し訳ありませんが、復旧方法のご教授をお願いいたします。 以上です。

  • SQL Serverへの接続について

    すみませんが、どなたか教えてください。 Access2000のプロジェクトからADOを使って、OLE-DB経由でSQL Serverに接続しようとしています。 SQLステートメントを指定して、レコードセットを作成したいのですが、 以下のSQL分のテーブル名のSYARMに対して、オブジェクト名SYARMは無効ですというメッセージが出てきます。どこが問題になっているのでしょうか? Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset cn.Open "Provider=SQLOLEDB;" & "datasource=(local);" & "Integrated Security=SSPI;" rs.Open "SELECT * FROM SYARM WHERE KANNO=12345;", cn, adOpenKeyset, adLockOptimistic rs.Close cn.Close Set rs = Nothing Set cn = Nothing