C# OLEDB连接和OLEDB命令-授权规范无效

C# OLEDB连接和OLEDB命令-授权规范无效,c#,.net,winforms,oledb,oledbconnection,C#,.net,Winforms,Oledb,Oledbconnection,我有一个DBF文件,我可以使用Microsoft Visual FoxPro打开它,现在我需要通过Visual Studio 2012在Clnauage数据中添加它 我收到以下错误:授权规范无效。 使用此代码: DialogResult result = MessageBox.Show("Do you wish to submit?", "Potvrzení", MessageBoxButtons.YesNo); if (result == DialogResult.Yes)

我有一个
DBF文件
,我可以使用
Microsoft Visual FoxPro
打开它,现在我需要通过
Visual Studio 2012
C
lnauage数据中添加它

我收到以下错误:
授权规范无效。

使用此代码:

DialogResult result = MessageBox.Show("Do you wish to submit?", "Potvrzení", MessageBoxButtons.YesNo);

    if (result == DialogResult.Yes)
    {
        odcCON.Open();
        OleDbCommand odc = new OleDbCommand("INSERT INTO netpokl.DBF (Castka,Akce) values(@castka,@akce)");
        odc.Parameters.AddWithValue("@castka",textBox2.Text);
        odc.Parameters.AddWithValue("@akce",test);
        odc.ExecuteNonQuery();
        odcCON.Close();

    }
OLEDB连接是这样的:

 OleDbConnection odcCON = new OleDbConnection(" Provider=SQLOLEDB;Data Source=\\SERVER\\Transfer\netpokl.DBF");

要读取/写入数据库文件,可以使用Microsoft JET OLEDB提供程序,该提供程序具有如下连接字符串:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\directory;Extended Properties=dBASE IV;User ID=Admin;Password=
请注意,数据源是数据库文件所在的文件夹。 最后,在查询中,表名应该是不带.dbf扩展名的文件名,如下所示:

INSERT INTO netpokl (Castka,Akce) values(@castka,@akce)
如果在64位应用程序上需要此功能,可以使用Microsoft ACE OLEDB提供程序()


看起来您缺少连接字符串上的安全信息。类似这样的“Persist Security Info=False;Integrated Security=yes”添加一个
User Id=XYZ
属性。在重用一个不适用于ole db的连接字符串后,我遇到了相同的错误。将
User=XYZ
更改为
User Id=XYZ
修复了它。您还可以决定使用windows身份验证,在这种情况下,您可以添加
integratedsecurity=SSPI
并删除
用户Id
属性。
Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=dBASE IV;Data Source=c:\directory;