gpt4 book ai didi

c# - 如何重写办公自动化代码

转载 作者:行者123 更新时间:2023-11-30 17:17:03 25 4
gpt4 key购买 nike

enter image description here enter image description here enter image description here VS 2008/C#/MS 2007

我在调用 ODBC 连接的 Access 数据库中有一个保存的导入功能。我不依赖于内置的保存导入功能,而是尝试重写 C# 中的功能,它将调用 ODBC 连接以将数据导入 MS Access 数据库。

我无法调用保存在调用 ODBC 驱动程序的 Access 数据库中的连接字符串。我一直失败.. !!

    Access.Application access1 = new Access.Application();
try
{

string sSalisburyAccessDB = Server.MapPath("App_Data/Database1.mdb");
access1.OpenCurrentDatabase(sSalisburyAccessDB, true, null);

// Drop the existing table data

access1.DoCmd.DeleteObject(Access.AcObjectType.acTable, "plans");

access1.DoCmd.DeleteObject(Access.AcObjectType.acTable, "price");

// Run the saved import
access1.DoCmd.RunSavedImportExport("TestODBC");

// Close the database
access1.CloseCurrentDatabase();

// Quit MS Access
access1.Quit(Access.AcQuitOption.acQuitSaveAll);

Response.Write("successful");



}
catch (Exception ex)
{
Response.Write(ex.Message);
}

enter image description here

最佳答案

在我看来,您似乎在 IIS 中使用自动化(Server.Mappath...ans Response.Write...)?

如果是这种情况,那么 MS 不支持 - 参见 http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2

原因有几个:从安全开始,而不是以 office 从未为这种服务器使用场景构建的事实结束......

我不明白为什么您不只是使用 C# 中的 ODBC 而不是 MS Access?也许您可以显示更多源代码或异常/错误消息...?

编辑 - 经过长时间的讨论(见评论):

如果您需要 Access Faircom DB,则添加一个 using System.Data.Odbc; 并尝试

OdbcConnection DbConnection2Salisbury = new OdbcConnection("DSN=Salisbury;DBQ=S:\;CODEPAGE=1252;");

DbConnection2Salisbury.Open();

在此之后,您可以使用 ADO.NET 查询 Faircom DB 等,即使用 OdbcCommandOdbcDataReader

有关一些信息,请参阅 http://msdn.microsoft.com/en-us/library/system.data.odbc.aspx
有关示例代码,请参阅 http://www.easysoft.com/developer/languages/csharp/ado-net-odbc.html

关于c# - 如何重写办公自动化代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6795263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com