【问题标题】:VB.Net could not find installable isam oledb excelVB.Net 找不到可安装的 isam oledb excel
【发布时间】:2013-06-30 08:58:08
【问题描述】:

我知道这是一个在这里重复了很多次的问题,但我已经(几乎)尝试了所有这些,但没有一个能帮助我。这是我的连接字符串。

Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\SalikSadruddin\Documents\Working Data\Sharon\01simple.xlsx; Extended Properties="Excel 14.0;HDR=YES"

我也试过这个:

Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\SalikSadruddin\Documents\Working Data\Sharon\01simple.xlsx; Extended Properties="Excel 14.0 XML;HDR=YES"

还有这个:

Provider=Microsoft.ACE.OLEDB.12.0; Data Source="C:\Users\SalikSadruddin\Documents\Working Data\Sharon\01simple.xlsx"; Extended Properties="Excel 14.0 XML;HDR=YES"

但似乎没有一个工作,我得到同样的错误

could not find installable ISAM

请帮助我们解决这个问题,我无能为力。 :(
附加信息:

  • 已经在使用 x86
  • 数据源来自 OpenFile 对话框
  • Access DB 引擎 x86 已安装
  • MS Office 2010 x86 已安装
  • 使用 .NET FW 3.5
  • Visual Studio 2012 速成版
  • 使用 Windows 8 x64

问候
萨利克·萨德鲁丁·梅拉尼

【问题讨论】:

  • Access Engine 可以是 64 位(如果安装了 Office,也可以是 Office)
  • 我安装了x86版本的Access DBE,Office也是x86但是Windows是x64

标签: vb.net oledb excel-2010


【解决方案1】:

找不到可安装的 ISAM。

导入 System.Data.OleDb

公开课表1 Dim con 作为新的 OleDb.OleDbConnection Dim da 作为新的 OleDb.OleDbDataAdapter

Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
    Me.Close()
End Sub

Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
    Me.txtstdID.Text = ""
    Me.txtstdName.Text = ""
    Me.txtstdPhnno.Text = ""
    Me.cmbGender.Text = ""
    Me.txtAddress.Text = ""
    Me.txtstdID.Focus()


End Sub
Private Sub RefreshData()
    If Not con.State = ConnectionState.Open Then
        con.Open()

    End If
    Dim dt As New DataTable
    ' Dim da As OleDb.OleDbDataAdapter ("select * from student")'

    da.fill(dt)
    con.Close()
    'Me.dgvdata.Datasourece = dt'
End Sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click

    Dim cmd As New OleDb.OleDbCommand
    If Not con.State = ConnectionState.Open Then
        con.Open()
        cmd.Connection = con
        cmd.CommandText = "insert into student(stdid,stdName,stdPhoneNumber,stdGender,stdAddress) values('" & Me.txtstdID.Text & "','" & Me.txtstdName.Text & "','" & Me.txtstdPhnno.Text & "','" & Me.cmbGender.Text & "','" & Me.txtAddress.Text & "')"
        cmd.ExecuteNonQuery()
        con.Close()
        RefreshData()

    End If

End Sub



Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    con = New OleDb.OleDbConnection
    con = New OleDbconnection("provider=Microsoft.ACE.OLEDB.12.0; Datasoure=C:\Documents and Settings\admin\My Documents\Student Management Sys.accdb")
End Sub

结束类

【讨论】:

  • 嗯...问题或答案?
【解决方案2】:

检查此代码:

cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;data source =D:\ODD_2015\Counselling.xlsx;extended properties=excel 12.0;"
cn.Open()

【讨论】:

    猜你喜欢
    • 2017-01-29
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 2012-08-01
    相关资源
    最近更新 更多