
現在Microsoft VisualBasic 2010 Expressにて、データベースを利用してアプリケーションを作成しようとしています。
今まではMS Access にて制作しておりましたので、完全な初心者というわけではありませんが、VB2010Express を使ってのソフト作成は初めてです。
データベースエクスプローラーを使ってデータの接続や、データセットを作成してのデータの編集はできました。
ここからが質問ですが、直接コードを書き込みデータベース操作をする際のデータベースへの接続方法がわかりません。
VBの書籍やヘルプを参考にして以下のようなコードを作成しました。
Dim scn As New OleDb.OleDbConnection
scn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ファイル名"
scn.Open()
(以下省略)~
このコードを実行すると次のようなエラーがでます。
「OleDb.OleDbException はハンドルされませんでした。
データベースの形式 'ファイル名' を認識できません。」
ファイル名(C:\Users\~\ファイル名.sdf)はデータベースエクスプローラーで作成したSQL Server Compact 3.5 のデータベースファイルです。
単純にデータベースエクスプローラーで作成したデータベースに、上記コードで接続することはできないのでしょうか?
また、コードに間違いなどはありますでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
SQL Server CEでは,
System.Data.OleDb名前空間のクラスではなく,
System.Data.SqlServerCe名前空間のクラスを利用します。
OleDb.OleDbConnection → SqlServerCe.SqlCeConnection
のように,名前空間とクラス名を置き換える必要があります。
# System.Data.SqlServerCe.dllへの参照を忘れずに
MSDN: System.Data.SqlServerCe 名前空間
http://msdn.microsoft.com/ja-jp/library/ec4st0e3 …
また,接続文字列も変更する必要があります。
MSDN: SqlCeConnection.ConnectionString Property (System.Data.SqlServerCe)
http://msdn.microsoft.com/ja-jp/library/system.d …
基本的にはData SourceとPasswordを設定すればよいでしょう。
一応,OLEDBプロバイダもあるようなので,
Microsoft Jet OLEDB4.0というJETエンジンの使用宣言ではなく,
Microsoft.SQLSERVER.CE.OLEDB.3.5というSql Server Compact 3.5の使用宣言にすれば,
OLEDB経由でも使えるようです。
Site: SQL Server Compact OLE DB Provider
http://social.msdn.microsoft.com/Forums/en-US/sq …
# 私は使ったことが無いため,評価は控えます。
No.2
- 回答日時:
>データベースエクスプローラーで作成したSQL Server Compact 3.5 のデータベースファイルです。
がどういったのかは知らないのですが、SQL Serverの類であれば。
http://c.oshiete.goo.ne.jp/kotaeru_reply.php3?q= …
の情報が参考になりませんでしょうか。
多分、IDとかパスワードとか設定されたと思うのですが。
そのあたりだけが、アクセスと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
名前'dbOpenDynaset'は宣言され...
-
MDBをADO接続でINSERT・UPDATE...
-
VB6.0でSQLServerへ・・・Recor...
-
UPDATE時にSETしたい日本語文字...
-
OracleDataReaderについて…
-
VBA 変数名に変数を使用したい。
-
『列名 '担当者CD' があいま...
-
INT64対応のprintf系関数はあり...
-
EXCELのVBAでLenB関数について
-
Access VBA 添付型フィールド
-
VB.NETでのAccessテーブルリンク
-
VB6.0の「vbFromUnicode」はVB....
-
エクセルでXY座標に並べられた...
-
VB6からの移行したいけど、VB.N...
-
DataTableに特定のフィールドが...
-
Redim とEraseの違いは?
-
CString型 全角半角を意識せず...
-
エクセルのテーブルを解除する...
-
コンボボックスのインデックス...
-
accessでフィールド追加のあと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VB】コンボボックスにデータ...
-
VB6.0でSQLServerへ・・・Recor...
-
OracleDataReaderについて…
-
名前'dbOpenDynaset'は宣言され...
-
UPDATE時にSETしたい日本語文字...
-
VB2005でACCESSの処理
-
初心者ですデータベースの形式 ...
-
データベースの接続ができない
-
複数SQL発行について
-
ExcelVBAでのAccessデータベー...
-
ListviewにDB内容を表示し方に...
-
vb.netでデータベース(Access)...
-
MDBをADO接続でINSERT・UPDATE...
-
VBでAccessにSQL文を実行して値...
-
VB6.0でアクセス2000...
-
MSFlexGridでデータの追加の方...
-
VB2005でmdbに接続するには?
-
VB6でデータベースを変えるとテ...
-
ASP.NET(VB.NET)でADO.NETを使...
-
VB6.0とaccessのDBを接続する
おすすめ情報