没有注册类 ADOX.CatalogClass.Create

64位windows2008server R2平台下发布网页,其中有个功能是在页面上连接并打开一个excel2007的表格,但是在客户端却提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序
    using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filePath + ";" + "Extended Properties='Excel 12.0;IMEX=1'")){}
 
 解决办法1  (验证可以了)
   选择 该应用程序的 应用程序池 ------>选择高级设置 --------->启用32位应用程序  ------->true 
 
解决办法2
   Microsoft.ACE.OLEDB.12.0是不能再x64上使用的,你要强制把你的web application编译成x86再发布到Win08 x64上,记得在Application pool上设置Enable 32bit Application = true。
(没有验证) 

 

最后把状态服务器重启一下, run中输入services.msc, 在打开的界面中找到ASP.NET State Service, 重新启动.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# ADOX是一种用于访问和操作Microsoft Access数据库的技术。它提供了一组和方法,可以通过编程方式创建、修改和查询Access数据库。下面是关于C# ADOX读写Access的一些方法和步骤: 1.创建Access数据库: 可以使用ADOX.CatalogCreate方法来创建一个新的Access数据库。例如,下面的代码可以创建一个名为test.mdb的Access数据库: ADOX.Catalog catalog = new Catalog(); catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=d:\\test.mdb;JetOLEDB:EngineType=5"); 2.创建Access表: 可以使用ADOX.TableCreate方法来创建一个新的Access表。例如,下面的代码可以创建一个名为test_table的Access表: ADOX.Table table = new Table(); table.Name = "test_table"; table.Columns.Append("ID", DataTypeEnum.adInteger); table.Columns.Append("Name", DataTypeEnum.adVarWChar, 50); table.Keys.Append("PrimaryKey", KeyTypeEnum.adKeyPrimary, "ID", "", ""); 3.向Access表中插入数据: 可以使用ADO.NET的OleDbConnection和OleDbCommand来向Access表中插入数据。例如,下面的代码可以向test_table表中插入一条记录: OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb"); conn.Open(); OleDbCommand cmd = new OleDbCommand("INSERT INTO test_table(ID, Name) VALUES(1, 'John')", conn); cmd.ExecuteNonQuery(); conn.Close(); 4.从Access表中读取数据: 可以使用ADO.NET的OleDbConnection和OleDbCommand来从Access表中读取数据。例如,下面的代码可以从test_table表中读取所有记录: OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb"); conn.Open(); OleDbCommand cmd = new OleDbCommand("SELECT * FROM test_table", conn); OleDbDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader["ID"].ToString() + " " + reader["Name"].ToString()); } reader.Close(); conn.Close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值