当 Access mdb 有密码时,来自 C# 的 MailMerge

Posted

技术标签:

【中文标题】当 Access mdb 有密码时,来自 C# 的 MailMerge【英文标题】:MailMerge from C# when Access mdb has password 【发布时间】:2009-07-21 12:40:06 【问题描述】:

我正在尝试以编程方式使用 MailMerge(来自 C#)。我使用 Access 数据库文件作为数据源。 Access 数据库有密码。以下代码由于某种原因不起作用,即使它应该起作用。我得到一个无效的密码文本框。

       WordApp = new ApplicationClass();

        WordApp.Visible = true;

        adoc = WordApp.Documents.Open(ref Template,
                             ref Missing, ref Missing, ref Missing, ref Missing, ref Missing,
                             ref Missing, ref Missing, ref Missing, ref Missing, ref Missing,
                             ref Missing, ref Missing, ref Missing, ref Missing, ref Missing);


        Object sql = "SELECT * FROM TestMergeTest";

        Object conn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + @"C:\Documents and Settings\sebastianharko.AKA-OS\Desktop\See.mdb" + ";"
             + "Jet OLDEDB:Database Password=" + @"notpassword" + ";";

        Object password = "notpassword";

        adoc.MailMerge.OpenDataSource(@"C:\Documents and Settings\sebastianharko.AKA-OS\Desktop\See.mdb", ref Missing,
              ref Missing, ref Missing, ref Missing, ref Missing,
             ref Missing, ref Missing, ref Missing, ref Missing,ref Missing, ref conn, ref sql, ref Missing, ref Missing, ref Missing);

任何帮助将不胜感激。

【问题讨论】:

你的密码好像不对!! Access 数据库密码一直完全没用。使用它们表示某人不知道他们在做什么。 @David W. Fenton:总是?我听说 ACE Access2007 的数据库密码非常好,因为它可以加密数据。 【参考方案1】:

您确定连接字符串的格式吗?这是我通过谷歌搜索 'Jet 4.0 连接字符串得到的示例:"

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=zzyzz;

【讨论】:

以上是关于当 Access mdb 有密码时,来自 C# 的 MailMerge的主要内容,如果未能解决你的问题,请参考以下文章

用access打开*.mdb数据库时,提示没有权限,让管理员设置适当的权限,有高手吗,我在线等

如何使用 C# 查询远程 MS ACCESS .mdb 数据库

使用 C# 检查 mdb 中的密码 [关闭]

使用 LINQ 和 C# 查询 Microsoft Access MDB 数据库

Shinyapps 上的 RODBC。连接到 Access 数据库 (.mdb) 时出错

使用 c# 在 32 位和 64 位窗口中打开 ms-access .mdb