初めて質問させていただきます。
現在VBでデスクトップ上のSQL Server Compact Edition データベースに接続する部分でつまずいており、
他サイト等色々と調べましたが解決できず前に進みません。是非アドバイスを頂きたく質問いたします。
開発環境:
VS2005,VB2005
コード:
Dim sqlcn As SqlCeConnection = New SqlCeConnection("Data Source=C:\Documents and Settings\user\デスクトップ\Log#1.sdf")
sqlcn.Open() 'エラー
Console.WriteLine("接続テストOK")
sqlcn.Close()
エラー(VSのエラーメッセージをコピー):
System.DllNotFoundException はハンドルされませんでした。
Message="DLL 'sqlceme30.dll' を読み込めません: 指定されたモジュールが見つかりません。 (HRESULT からの例外: 0x8007007E)"
Source="System.Data.SqlServerCe"
TypeName=""
StackTrace:
場所 System.Data.SqlServerCe.NativeMethods.DllAddRef()
場所 System.Data.SqlServerCe.SqlCeConnection..ctor()
場所 System.Data.SqlServerCe.SqlCeConnection..ctor(String connectionString)
場所 mdbtosqlcompact_1.Module1.Main() 場所 C:\Documents and Settings\user\My Documents\Visual Studio 2005\Projects\mdbtosqlcompact_1\mdbtosqlcompact_1\Module1.vb:行 7
場所 System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
場所 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
場所 System.Threading.ThreadHelper.ThreadStart()
対処:
・Books Onlineから、参照設定で、\Program Files\Microsoft SQL Server Compact Edition\v3.1 フォルダにある System.Data.SqlServerCe.dllを追加とあるが、同名のxmlファイルはあるがdllファイルが見つからない。(SQL Server Compact及びVS2005を再インストールしても出てこない)仕方なく、他の \Program Files\Microsoft Visual Studio 8\Common7\IDEフォルダのSystem.Data.SqlServerCe.dllを指定しても上記エラーによりNG。
・他サイトでsqlceme30.dll等をプロジェクトフォルダ下にコピーするとあったがこれもNG。
・SQL Server の180日体験版を入れていた時は接続できたが関係があるのか?
以上なにぶん初心者であり的を得ていない質問かと思いますが、どなたかアドバイスをよろしくお願いします。