WindowsCE5.0マシンでSQLサーバに接続

このQ&Aのポイント
  • WinXP、VS2005(VB)でデバイスアプリケーションを作成中。SQLServer2005Expressへの接続ができない。
  • PocketPC2003のエミュレーターを使用して[SqlClient]を使ってSQLサーバーに接続しようとしているが、うまくいっていない。
  • 接続文字列やエミュレータの設定などを確認しても、SQLサーバーへの接続ができない。
回答を見る
  • ベストアンサー

WindowsCE5.0マシンでSQLサーバに接続

WinXP、VS2005(VB)においてデバイスアプリケーションを作成しています。そこで、サーバー側のSQLServer2005Expressに接続したいのですがうまくいきません。ちなみに実行は、PocketPC2003のエミュレーターを使用しています。[SqlClient]を使用してConnectionStringに、 "Data Source=PC名\sqlexpress;Initial Catalog=DB名;Persist Security Info=True;User ID=sa;Password=パスワード;Connection Timeout=10" を入れてOpenしようとしているのですができません。ポイントは(1)そもそも[SqlClient]を使用してSQLサーバーにアクセスできるか?(2)エミュレータに設定が必要(IEでHPの観覧が出来るのは確認できた)(3)接続文字列が不備?(ただし通常のWindowsアプリでは動作確認できている) いろいろと要因はあるかと思いますが、まず何か思い当たるところがありましたらご教授ください。(SQLサーバーはF/Wは無効にしていますし外部からの接続は確認できています)

質問者が選んだベストアンサー

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

以下は .NETの例です。参考にしてください。 http://homepage2.nifty.com/inform/vbdb/net_sql.htm

lord_chan
質問者

お礼

ありがとうございます。Openが成功しました。どうもサーバー側に問題(接続をなぜか拒否する)があったようです。ありがとうございました。

関連するQ&A

  • VBでSQLサーバーへ接続できない

    WVD2008ではSQLサーバーへ接続できて、データも表示できるのに、 VB2008からは最初の設定画面がわかりません。 添付の図は 右:WVD 左:VB です。 WVDは データソース:Microsoft SQL Server (SqlClient) サーバー名:○○○\SQLEXPRESS データベース名:master と入力しテスト接続すると「成功」します。 しかしVBは データソース:Microsoft SQL Server Compact 3.5 データベースファイル名:○○○\SQLEXPRESS もしくは データソース:Microsoft SQL Server データベース ファイル (SqlClient) データベース:○○○\SQLEXPRESS と入力しテスト接続すると「見つかりません」となります。 アクセスへなら データソース:Microsoft Access データベース ファイル (OLE DB) データベースファイル名:C:\\Desktop\Documents\○○○.mdb として接続できます。 接続できないというよりもVBにおいてのSQLサーバーへの設定方法がわかりません。 VBにて サーバー名:○○○\SQLEXPRESS データベース名:master へ接続したい場合はどうすればいいでしょうか? ご教授よろしくお願い致します。

  • 他のPCのSQLサーバーに接続したい

    2台のPCはLANに繋がれていて、同じワークグループです。 PC1をサーバーとして PC2からPC1のSQLサーバーへ接続したいのですが どうすればいいのでしょうか? (エクセル→SQLサーバーです。) PC1は Dim cn As New ADODB.Connection cn.Open "Provider=SQLOLEDB;Data Source=○○○○\SQLEXPRESS; " & _ "Initial Catalog=" & サーバー名 & ";" & _ "Integrated Security=SSPI" rs.Open "Tテーブル", cn, adOpenStatic, adLockOptimistic と言うように接続しています。 PC2から同じようにコードを書いてみましたがやはりエラーになってしまいました。 多分、 「cn.Open "Provider=SQLOLEDB;Data Source=○○○○\SQLEXPRESS;」 の部分だと思うのですが どうすればPC2からPC1のSQLサーバーへ接続することができるのでしょうか? どちらも環境は OS:2000、オフィス:2003、 PC1のみSQLサーバー2005がインストールされています。 IPアドレスは固定です。 ご教授よろしくお願い致します。

  • ASP.NETでSQL-SERVERへの接続方法

    最近、ASP.NETの勉強をはじめました。テキストを見ながらサンプルプログラムを作成しているのですが、SQL-SERVERへのDB接続方法がうまくいきません。 Dim conn As String = "data source=????;user id=sa;password=;initial catalog=SampleDb" Try   Dim objConn As New SqlClient.SqlConnection   objConn.ConnectionString() = conn   Dim comm As New SqlClient.SqlCommand(sql, objConn)   objConn.Open() ソース一番上の????の部分に何と記述すればいいかわかりません。テキストには localhost と記述されています。コンパネの「ODBCデータソース」のDSNやサーバ名を記述しても無理でした。 ASP開発で使用していたDB接続 Conn = "PROVIDER=SQLOLEDB;SERVER=サーバ名;DATABASE=YUSODB;UID=sa;PWD=;" を試したりしたのですが、無理でした。 どなたかご教授お願いします。

  • エラーを発生させたい(SQLサーバーへの接続)

    ネットのサンプルコードでSQLサーバーの接続テストをしましたが、 存在しないSQL文でもエラーになりません。(vb2005です) Sub sqlサーバーへ接続() ' 接続文字列を生成する Dim Cn As New System.Data.SqlClient.SqlConnection Dim SQL As System.Data.SqlClient.SqlCommand Dim stConnectionString As String = String.Empty stConnectionString &= "Data Source = ××××\SQLEXPRESS;" stConnectionString &= "Initial Catalog = ×××;" stConnectionString &= "Integrated Security = SSPI;" ' SqlConnection の新しいインスタンスを生成する (接続文字列を指定) Dim cSqlConnection As New System.Data.SqlClient.SqlConnection(stConnectionString) ' データベース接続を開く cSqlConnection.Open() SQL = Cn.CreateCommand SQL.CommandText = "SELECT テーブル1.あああフィールド1 FROM テーブル1" '間違ってても進んでしまう。 ' 接続に成功した旨を表示する MessageBox.Show("Microsoft SQL Server に接続されました") ' データベース接続を閉じる (正しくは オブジェクトの破棄を保証する を参照) cSqlConnection.Close() cSqlConnection.Dispose() End Sub 「あああフィールド1」なんて存在しないのに、先に進んでしまいます。 エラー処理の仕方を教えてください。 よろしくお願いします。

  • SQL Serverへの接続で困っています

    お世話になります。大変困っているので助けてください。 VB 2008EXPRESS EditionとSQL Server EXPRESS Edition(共に無償)をネットからダウンロードしてインストールしました。 VBからSQL Serverに接続したく以下のようなコードを記述しました。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' 接続文字列を生成する Dim stConnectionString As String = String.Empty ' stConnectionString &= "Data Source = ABSAN\SQLEXPRESS;" ' stConnectionString &= "Initial Catalog = ABSAN;" ' stConnectionString &= "Integrated Security = SSPI;" stConnectionString = "Server=ABSAN\SQLEXPRESS;Initial Catalog=ABSAN;Integrated Security = SSPI;" ' SqlConnection の新しいインスタンスを生成する (接続文字列を指定) Dim cSqlConnection As New System.Data.SqlClient.SqlConnection(stConnectionString) ' データベース接続を開く cSqlConnection.Open() ' 接続に成功した旨を表示する MessageBox.Show("Microsoft SQL Server に接続されました") ' データベース接続を閉じる (正しくは オブジェクトの破棄を保証する を参照) cSqlConnection.Close() cSqlConnection.Dispose() End Sub 結果として、「SqlEXceptionはハンドルされませんでした」旨のメッセージが帰ってきます。 但し、自分でもData SourceとInitial Catalogの設定のところがこれでいいのかと思っています。 何らかの形で正しい設定をしたいのですが、サーバのインストール時にこのような設定があったように記憶がありません。 また他にも原因があるようでしたら教えてください。 何分急いで下ります。よろしくお願いいたします。

  • SQLサーバーへの接続が どうしてもウマくいきません

    SQLサーバーを始めたばかり です。 ASPで SQLサーバーのデータを表示しようとしています。 環境: WinXP (Pro)     IIS設定済み     SQL Server 2005 Express Edition 近くに2003サーバーがあるので 最終的にはそちらで動作させる予定です。 サーバーが現用機なので 自PCで動作確認してからと思っています。 色々ネットを調べて まず接続しようとしましたが そこでつまづいています。 この方法以外も沢山試しましたが全てうまく行きません。 2005 ExpressでDBとテスト用のテーブルが作成してあります。 そのデータを読み出せれば 第一段階とトライしますが、 IEから接続にいくと「objCon.Open」がエラーになってしまいます。 ASPファイルの内容は 以下です なお DB名は 「PC名¥SQLEXPRESS」といれています よろしく お願いします ---------------------------------------------------- <%@ LANGUAGE="VBScript" %> <% option explicit %> <% Dim objCon ' DB接続コネクション Dim objRS ' DB結果レコードセット Dim sql ' SQL文 Dim errflg ' エラーフラグ 'DataSource名 Const DS = "111.111.0.1" ←IPアドレス。正しいものをいれてます Const IC = "DB名"      'ユーザ名 Const User = "sa" 'パスワード Const Pwd = "sa" Set objCon = Server.CreateObject("ADODB.Connection") Set objRS = Server.CreateObject("ADODB.Recordset") objCon.ConnectionString = "Provider=SQLOLEDB;" & _ "User ID=" & User & ";" & _ "Password=" & Pwd & ";" & _ "Data Source=" & DS & ";" & _ "Initial Catalog=" & IC objCon.Open sql = "select * from Aテーブル" objRS.Open sql,objCon,adOpenStatic,adLockReadOnly %> レコード件数 <%=objRS.RecordCount%> <% ' DBclose objCon.Close() Set objCon = Nothing objRS.Close() Set objRS = Nothing %>

  • VWD エラー 「ユーザー 'NT AUTHORITY\NETWORK SERVICE' はログインできませんでした。」

    Vista, VWD2008 express edition, SQL Server 2008を使っています。 SQL Server 2008をインストール時に色々失敗し、DBのインスタンスはSQLEXPRESS3という名前になっています。web.configに <remove name="LocalSqlServer"/><add name="LocalSqlServer" connectionString="data source=(CP名)\SQLEXPRESS3;user id=sa;password=;Integrated Security=SSPI;Initial Catalog=aspnetdb" providerName="System.Data.SqlClient"/> として、DB接続しているのですが、タイトルのエラーがでます。 「NT AUTHORITY」に接続権限を与えても同じでした。どうしたらログインできる様になるか教えて頂けませんでしょうか。

  • sql2000 vb2008接続

    VB2008/standard editionでremote PC/dynabook1のMSDE/sql2000 のnCalnartに接続を試みるとき error/providerはサポートされていません/がでます。 デザイン時には接続されるのですが 原因と対策をお教えください Dim scn As SqlClient.SqlConnection = New SqlClient.SqlConnection scn.ConnectionString = "Provider=SQLOLEDB;Data Source=DYNABOOK1;Persist Security Info=True;User ID=sa;Initial Catalog=nCalnart" Try scn.Open() MessageBox.Show("接続しました") scn.Close() MessageBox.Show("切断しました") Catch ex As Exception MessageBox.Show(ex.Message, "error") End Try

  • SQL Serverへのネットワーク接続

    SQL ServerにODBC接続するために、DSN登録しようとしているのですが、 うまくいきません。 ドライバはSQL Serverを選択し、 サーバ名「PC16\SQLEXPRESS」 「SQLServer用のログインIDとパスワードを使う」 でログインID,Passを入力した際、 「sa」だと次へ進めるのですが、他のユーザだと 「ユーザー'XXXX'はログインできませんでした」 というメッセージが出てしまいます。 DB側では、TCP/IPを有効にしてあり、FireWallの例外にも追加してあります。 解決方法ご存知の方、よろしくお願いします。

  • いきなりSQLサーバーに接続できなくなりました。

    OS:vista SQL:Microsoft SQL Server 2005(無料版) 昨日までなんの問題もなくSQLサーバーに接続できていたのですが 今日パソコンをつけたら(シャットダウンしていた) SQLサーバーに接続できなくなりました。 何が起きたのかわかりません。 何も設定は変えていません。 エラーメッセージは ___________________________________________________ SQL Server への接続を確立しているときにネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないかアクセスできません。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。 (provider: 共有メモリ プロバイダ, error: 40 - SQL Server への接続を開けませんでした) (.Net SqlClient Data Provider) Error Number: 2 Severity: 20 State: 0 ___________________________________________________ です。 参考に画像を添付します。 上:SQLサーバー接続時のエラー 下:アクセスからSQLサーバーのテーブルにリンクしているのですが テーブルが開けない時のエラー もしかしたらパソコンを落とした時ウインドウズアップデートが発生していたのかもしれません。 初心者の為、何が起きたのかよくわかりません。 ここからどうしたらよいか教えてください。 よろしくお願いします。