错误:不是有效的文件名(OleDbException)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误:不是有效的文件名(OleDbException)相关的知识,希望对你有一定的参考价值。
我有一个简单的Access数据库,其中包含一个表。就这个
对于我的Button Load事件,我有这个代码
Dim con As New OleDb.OleDbConnection
Dim dbProvider As String
Dim dbSource As String
dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"
dbSource = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:addressBookAddressBook.mdb"
con.ConnectionString = dbProvider & dbSource
con.Open()
MsgBox("Opened")
con.Close()
在con.Open()行上我得到了这个异常。我无法理解这是什么问题。也许名称“con”是问题,但我将其更改为“c”或“con1”,但同样的异常发生。无法理解的原因。谢谢你的解决方案
答案
我认为此处不需要提供商,因为您已经在源代码中拥有它,更改...
dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"
dbSource = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:addressBookAddressBook.mdb"
con.ConnectionString = dbProvider & dbSource
至...
dbSource = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:addressBookAddressBook.mdb"
con.ConnectionString = dbSource
更好的解决方案是将文件添加到App_Data
文件夹,而不是从本地驱动器引用该文件。将连接字符串添加到配置中...
<connectionStrings>
<add name="AccessConnection"
connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|dbName"
providerName="System.Data.OleDb" />
</connectionStrings>
另一答案
把@
放在连接字符串之前。这个对我有用!
另一答案
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Dim dbprovider As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:UsersuserDocumentsk1.accdb"
conn.ConnectionString = dbprovider
conn.Open()
以上是关于错误:不是有效的文件名(OleDbException)的主要内容,如果未能解决你的问题,请参考以下文章
出现“要求的文件D:\msyh.ttf 不是有效的字体文件”错误
Firebase 错误:symbolFileMappings:upsert:上传的文件不是有效的 Breakpad 符号文件
在运行历史记录中找不到有效模型。这意味着 smac 无法拟合有效模型。请检查日志文件是不是有错误