【发布时间】:2015-02-28 20:22:43
【问题描述】:
我必须从 .accdb 文件中读取一个表并将其迁移到数据库。 我无法在将执行迁移的服务器上安装 MS Access! 目前我使用 ODBC
OdbcConnection DbConnection = new OdbcConnection("DSN=SAMPLE_ISAM");
DbConnection.Open();
OdbcCommand DbCommand = DbConnection.CreateCommand();
DbCommand.CommandText = "SELECT Attachments FROM SomeTable";
OdbcDataReader DbReader = DbCommand.ExecuteReader();
while (DbReader.Read())
{
object att = DbReader["Attachments"];
}
DbReader.Close();
DbCommand.Dispose();
DbConnection.Close();
SAMPLE_ISAM 指向 accdb 文件。 这适用于简单数据类型,但对于附件它只获取文件名(我还需要字节)。
正如我所说,无法安装 MS Access,因此不能选择 Interop DAO。
有没有办法获取附件?其他技术和编程语言也是可以接受的。
【问题讨论】:
-
@Steve 谢谢,帮了大忙。
-
“无法安装 MS Access,因此不能选择 Interop DAO” - 不正确。如果服务器安装了 Access 数据库引擎 - 您必须拥有它才能使用 ACE ODBC 或 ACE OLEDB - 那么您可以使用带有 COM 参考“Microsoft Office 14.0 Access Database Engine Object Library”的 ACE DAO 数据访问层。如果您想自动化 Access 的一个实例,那么是的,您需要安装完整的 Access 应用程序,并且在您的 .NET 项目中使用“Microsoft Access 14.0 Object Library”COM 引用。但是,ACE DAO 数据访问不需要 Access 自动化。