- - PR -
Pocket PC 2003 から SQLServer2000に接続して値の取得
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-03-09 10:48
お世話になります。
WindowsXPSP2 VisualStudio2005 SQLServer2000 スマートデバイス PocketPc2003 で開発をしています。 PocketPc2003からSQLServerのデータを直接参照する事が可能でしょうか。 VBアプリでSqlConnectionを使用し取得出来ることは確認できました。 同様にSqlConnectionで行ってみましたが、PocketPcでは利用できない様でした。 そこでSqlCeConnectionを利用しましたが、失敗しました。 接続文字列はSqlConnectionの様に記述してみました。 リファレンス等にある方法はSqlServerCEに対しての接続文字列と思います。 SqlCeConnectionではSqlServerCEのみが対応していますでしょうか? 宜しくお願い致します。 | ||||
|
投稿日時: 2008-03-09 20:00
Windows Mobile + Pocket PC の環境であれば System.Data.SqlClient.SqlConnection は使えるハズなのですが... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-03-10 10:16
返信ありがとうございます。
SqlConnectionで試して見た時のソースを載せてみますので何か指摘事項あれば宜しくお願い致します。 sqlConn.Open() の部分でエラーに行ってしまいます。 Imports System.Data Imports System.Data.SqlClient Public Class Form1 Private sqlConn As SqlConnection Private sqlCmd As SqlCommand Private sqlAdp As SqlDataAdapter Private sqlReader As SqlDataReader Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try sqlConn = New SqlConnection("Data Source =Server;Initial Catalog=TestDB;Uid=sa;Pwd=") sqlCmd = sqlConn.CreateCommand() sqlConn.Open() sqlCmd.CommandText = "Select * From TestTable " sqlReader = sqlCmd.ExecuteReader() sqlReader.Close() sqlConn.Close() Catch ex As Exception MsgBox("Error") End Try End Sub End Class | ||||
|
投稿日時: 2008-03-10 15:59
これって使えないのではなくて使い方が間違っているとかの類では? エラーが起こるのであれば、エラーの内容まできちんと提示しないと 状況が把握できないと思いますよ。 | ||||
|
投稿日時: 2008-03-10 19:00
返信ありがとうございます。
たしかにメッセージを表示しないと分かりませんよね。 システムからのメッセージを表示させる様にしていませんでした・・・。 実際にメッセージを表示させた所、 ”PInvoke DLL 'dbnetlib.dll'が見つかりませんでした” というメッセージが表示されました。 この内容で検索した所、同様の現象で解決したという内容を見つけました。 http://bbs2.wince.ne.jp/bbs2002/devb/List.asp?P=4 この記事を参考に対応を行いましたが、改善されていない状態です。 -----以下抜粋----- 「sql.dev.JA.ppc.wce5.armv4i.CAB」 を実機にインストール後 「dbnetlib.dll」 をexeファイルと同じフォルダにコピーすることで、 動作するようになりました。 と同時に、 ActiveSync の「アプリケーションの追加と削除」には 「Microsoft SQL Client 2.0[JA]」 が表示されるようになりました。 ---------- 上記の様に「Microsoft SQL Client 2.0[JA]」 が表示されるようになり、 Exeファイルと同じフォルダにコピーしましたが改善されませんでした。 実機のバージョンなどはこれから確認して報告させて頂きます。 宜しくお願い致します。 | ||||
|
投稿日時: 2008-03-10 19:34
追加情報です。
実機PDA HP iPAQ rx4240 Windows Mobile5.0 software for Pocket PC 日本語版with Messaging and Security Feature Pack インストールアプリ Microsoft .NET CF 2.0 Microsoft .NET CF 2.0 JA-String Resource Microsoft SQL Client 2.0[JA] | ||||
|
投稿日時: 2008-03-10 22:02
お世話になります。
結果的にデータの取得をすることができました。 やり方としては問題なかったようですが、コピーするdbnetlib.dllの種類がいけなかったようです。 PC内のdbnetlib.dllファイルを検索し、存在するファイルを無造作にコピーしていた事が失敗の原因だったようです。 今回インストールしたファイル sql.dev.JA.ppc.wce5.armv4i.CABの存在場所 C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\Client\wce500\armv4i その直下にあるファイルをコピーした所、データの取得が出来ました。 ファイルサイズ等も違っていたので内容が異なるファイルだったようです。 (検索時はファイルサイズを表示していなかったのですべて同じと思ったのが間違いでした。) というより普通は同じ所のファイルをコピーしますよね。お恥ずかしい限りです。 今回もまた皆さんの助言に助けられ解決する事が出来ました。感謝しております。 自分も日々精進しがんばります。 ありがとうございました。 |
1