我有以下代码:
private void CreateDBFFile()
{
string connection = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
using (OleDbConnection dbconnection = new OleDbConnection(connection))
using (OleDbCommand command = dbconnection.CreateCommand())
{
dbconnection.Open();
command.CommandText = "CREATE TABLE Test (Id Integer, Changed Double, Name Text)";
command.ExecuteNonQuery();
}
}
连接字符串是这样的:
<connectionStrings>
<add name="conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\temp; Extended Properties=dBase IV" providerName="System.Data.OleDb" />
</connectionStrings>
以上代码适用于我的家用电脑,但不适用于我的工作电脑。当我尝试打开连接时,上面的代码终止时,我不知道我的工作计算机上的文件是否已损坏。
非常感谢任何帮助。
答案 0 :(得分:1)
问题可能是由processo架构(x86或x64)以及Windows上安装的ODBC驱动程序引起的。
您正在使用Microsoft.Jet.OLEDB.4.0
提供程序,因此如果您的应用程序在Visual Studio上设置为Any CPU
,并且您在x86
计算机上运行它,那么您的应用程序将查找32 ODBC驱动程序的位版本,类似地,如果您在x64
计算机上运行,您的应用程序将查找64位版本的ODBC驱动程序。
这是ODBC驱动程序和Windows的x86
/ x64
版本的常见问题。
如果您确定这两台计算机都具有32位版本的ODBC驱动程序,那么您可以强制使用&#34;强制使用#34;您的应用程序以32位模式运行,请使用:
右键单击主项目&gt;属性&gt;构建&gt; Plataform target = x86
即使您的应用程序为x86
,它也会在x86
和x64
版本的Windows上运行。