我正在尝试从VB 2010向Access 2010表写入数据。这是VB代码:
Dim cn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\ssr2011f\be\ssrAnalysisTWEAK.ACCdb")
cn.Open()
Dim Str As String = "insert into BSP1 values(" & CInt(pcValue) & ",'" & (hsName) & ") "
Dim cmd As New System.Data.OleDb.OleDbCommand(Str, cn)
Dim icount As Integer = cmd.ExecuteNonQuery
我在“cn.Open()”行中收到以下错误:
System.Data.dll中出现'System.InvalidOperationException'类型的第一次机会异常
我也使用连接字符串“Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\ ssr2011f \ be \ ssrAnalysisTWEAK.ACCdb;”来解决此错误。我的Windows版本是7.0。
为什么连接失败?
答案 0 :(得分:1)
在使用Access数据库作为后端,而在运行64位操作系统的计算机上进行开发之前,我看到过这样的错误。
尝试在Visual Studio项目的编译选项中明确定位x86平台。
在解决方案资源管理器中,右键单击您的项目并选择属性
选择编译标签
点击高级编译选项按钮
在目标CPU 下拉列表中,选择“x86”(而不是“AnyCPU”)
当我这样做时,我能够毫无错误地执行您的代码(当然,将其指向我自己的访问DB)。
希望它有所帮助。