C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: SQLServerCEのDB作成先について


(過去ログ 27 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■12552 / inTopicNo.1)  SQLServerCEのDB作成先について
  
□投稿者/ tern (1回)-(2008/01/11(Fri) 15:35:08)

分類:[.NET 全般] 

現在WindowsMobile用にVBで開発をしているのですが、
以下のような形で
SQLServerCEを利用してDBを作成した際、
PC上では何処にsdfファイルが格納されているのでしょうか?
VisualStdioプロジェクトのフォルダ階層には
何処にも"test.sdf"というファイルが見つかりません。


Dim eng As SqlCeEngine = New SqlCeEngine("Data Source=test.sdf")
eng.CreateDatabase()


以上、よろしくお願いします。

引用返信 編集キー/
■12554 / inTopicNo.2)  Re[1]: SQLServerCEのDB作成先について
□投稿者/ さかもと (3回)-(2008/01/11(Fri) 15:55:14)
さかもと さんの Web サイト
さかもとと申します。

>>Data Source=test.sdf

とディレクトリを特に指定しなかったら該当プロジェクトフォルダ内の\bin\debug(デバッグだったら)か\bin\release(リリースだったら)に入っていると思います。

ディレクトリは指定も可能です。

http://www.microsoft.com/japan/msdn/thisweek/10lines/sqlce_offline_cs.aspx

こちらが分かりやすいかと。
引用返信 編集キー/
■12557 / inTopicNo.3)  Re[2]: SQLServerCEのDB作成先について
□投稿者/ tern (3回)-(2008/01/11(Fri) 16:18:59)

さかもとさん 返信ありがとうございます。

> ディレクトリは指定も可能です。
以下のようにした所

Dim eng As SqlCeEngine = New SqlCeEngine("Data Source=\My Documents\test.sdf")
eng.CreateDatabase()

やはり、PC上のMy Documents にはtest.sdf が見つかりません。

PC上とエミュレータ上(WindowsMobile 6 Classic)で
ファイル空間が異なったりする
という事はないでしょうか??

事の始まりは
VisualStudioのGUI上で作成したDBを
使いたいというところから始まっており
メニュー → データ(A) → 新しいデータソースの追加

から
□マイコンピュータ
□ActiveSyncに接続したデバイス
”マイコンピュータ”を選択し
でPCローカルにDBを作成したつもりなのですが
対象のDBにアクセスできなかった為、(ファイルがみつからない というエラーとなる)

試しに、プログラム上でDBを作成したらどうなるのか?
と思い、上記プログラムでDB(sdf)を作成し
テーブルも作成し普通にアクセスができました。(ファイルもExistでした)
しかし、肝心のsdfファイルがプログラム上ではExistするのですが
PC上では何処にもみつからず
GUI上で作成したアクセスが出来ないsdfは普通にカレントに存在します。

最終的には
GUIで作ったsdfファイルを
プログラム上で作った仮のsdfファイルと置き換えてしまえば
DB作成が楽だと思っていたのですが
そもそもプログラム上で作ったsdfファイルが何処にあるかがわからず
非常に悩んでいる状態です。

長文で申し訳ないです。


引用返信 編集キー/
■12563 / inTopicNo.4)  Re[3]: SQLServerCEのDB作成先について
□投稿者/ さかもと (5回)-(2008/01/11(Fri) 16:46:17)
さかもと さんの Web サイト
さかもとです。

エミュレーター側がどうなっているかとかは詳しくないのですが、

>>試しに、プログラム上でDBを作成したらどうなるのか?
>>と思い、上記プログラムでDB(sdf)を作成し
>>テーブルも作成し普通にアクセスができました。(ファイルもExistでした)
>>しかし、肝心のsdfファイルがプログラム上ではExistするのですが
♪♪PC上では何処にもみつからず


「♪♪」の箇所ですが、VisualStudioのバージョンはいくつですか?2005?2008?

ひょっとしてテスト的に作ったソリューションでまだ保存してない(一時プロジェクトっぽくなってる?)からどこにも見当たらないのかなー?と思ったりしました。

もしそうだとしたらVSを閉じるときにソリューション一式の保存先を聞いてくるので、保存が完了したら\bin\debugなりそのあたりに入ってたりしませんか?


引用返信 編集キー/
■12567 / inTopicNo.5)  Re[4]: SQLServerCEのDB作成先について
□投稿者/ tern (4回)-(2008/01/11(Fri) 17:04:46)
VSは2005です。
閉じてはみましたがファイルは見つかりませんでした・・

一般的にWindowsMobile上でのDB作成は
ソースプログラムから行うのですか?

以下の(Visual Studio データベース ツールの使用)ようにGUIから行いたいのですが・・・
http://www.microsoft.com/japan/msdn/pocketpc/general/UI_Data_Designers_NETCF2.aspx


引用返信 編集キー/
■12568 / inTopicNo.6)  Re[5]: SQLServerCEのDB作成先について
□投稿者/ さかもと (7回)-(2008/01/11(Fri) 17:16:31)
さかもと さんの Web サイト
さかもとです。

>>一般的にWindowsMobile上でのDB作成は
>>ソースプログラムから行うのですか?

http://msdn2.microsoft.com/ja-jp/library/ms174545.aspx


むしろ事前準備が推奨されているようですね。


「エミュレーターを使うとディレクトリどうなるの?」
が詳しくないので何とも言えないのですが、
問題切り分けのために、一度エミュレーターを使わず(mobile上に配置するのをやめて)、純粋にPC上だけでテストしてみてはいかがでしょうか?ディレクトリもCドライブ直下とか分かりやすい所にするとか。

少なくとも私の環境では(エミュレーターとかは無視)test.sdfが正常に作成されています。
http://msdn2.microsoft.com/ja-jp/library/ms174628.aspx



引用返信 編集キー/
■12571 / inTopicNo.7)  Re[3]: SQLServerCEのDB作成先について
□投稿者/ さかもと (8回)-(2008/01/11(Fri) 17:50:09)
さかもと さんの Web サイト
No12557 (tern さん) に返信

> VisualStudioのGUI上で作成したDBを
> 使いたいというところから始まっており
> メニュー → データ(A) → 新しいデータソースの追加
>
> から
> □マイコンピュータ
> □ActiveSyncに接続したデバイス
> ”マイコンピュータ”を選択し
> でPCローカルにDBを作成したつもりなのですが
♪ 対象のDBにアクセスできなかった為、(ファイルがみつからない というエラーとなる)


「♪」のところですが、「新しいデータソースの追加」で.sdfを追加しますよね。そのあとダイアログ上に「接続の確認」がありますが、そこでは接続ができていますか?
まず時点で物理的に.sdfができているはずで、正常に接続もできていますよね?

この時点で「ファイルが見つからないとエラーになる」のであれば、何か根本的に間違えているのかも知れません・・・。


ちなみに、こちらでもエミュレーターを使ってテストしてみましたが、ternさんがお試しになった方法そのままで.sdfの生成(ちゃんとエクスプローラーで見える)と接続まで確認ができました。



引用返信 編集キー/
■12578 / inTopicNo.8)  Re[6]: SQLServerCEのDB作成先について
□投稿者/ tern (5回)-(2008/01/11(Fri) 19:53:39)
どういうわけか
VBのプロジェクト名を"TEST1"
とした場合
エミュレータ空間の以下に格納されているようです

\Program Files\TEST1\testdb.sdf

よって、以下でアクセスできるようになりました。

Data Source=\Program Files\TEST1\testdb.sdf


当然、自分のPCにはProgram Filesの下にTEST1 というフォルダは存在しません。
エミュレータ上どのようなファイル構成で持っているのかが
手探りという感じで、よくわかりません。

どなたか解る方アドバイス頂きたいです。


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -