c# - 将表从 SQL Server 2008 复制到 MS Access 2007

标签 c# sql-server ms-access converters

首先,对于那些想问我到底为什么要从 SQL SERVER 缩小到 ACCESS 的人,让我告诉你这个场景。 有些 PC 配置非常低,(256 MB RAM,2GHz 处理器)我无法安装 SQL Server。因此,我希望主要操作在 SQL Server 上执行,而一些数据检索和审计工作在较慢的机器上完成。

那么我们开始吧: 我想将表从 SQL Server 复制到 MS Access 2007。我试过:

1)连接sql server,从sql server读取表,填充一个datatable对象。

2) 创建到 MS Access 的连接,并使用 Dataadapter.Update 方法将表更新到 MS Access 数据库。

然而,第二步没有工作,尽管它没有抛出任何错误。这是我的代码:

SqlConnection cnn = new SqlConnection(@"initial catalog=DBTempleERM;user id=aditya;password=Aditya_ravi$;Data Source=adityalappy\sqlexpress");
SqlCommand cmd = new SqlCommand("SELECT * FROM donationdetails", cnn);
cnn.Open();
System.Data.SqlClient.SqlDataAdapter sDA = new SqlDataAdapter(cmd);
DataTable donationdetails = new DataTable();
sDA.MissingSchemaAction = MissingSchemaAction.AddWithKey;
sDA.Fill(donationdetails);

MessageBox.Show(donationdetails.Rows.Count.ToString());

OleDbConnection oleConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Jet OLEDB:Database Password=Aditya_ravi$;Data Source=C:\dbt.accdb");
oleConn.Open();
OleDbCommand oleComm = new OleDbCommand();
OleDbDataAdapter oDA = new OleDbDataAdapter(oleComm);
OleDbCommandBuilder oCb = new OleDbCommandBuilder(oDA);
oDA.Update(donationdetails);

执行结束时没有抛出任何错误,但我看不到任何从 SQL Server 复制到 MS Access 的记录。

我了解到 SQL 批量复制不能用于从 SQL Server 复制到 Access。

我还想将 SQL Server 表中的主键添加到 MS Access 表中。

最佳答案

为什么不使用 SSIS 为您做这件事。

您可以创建一个 SSIS 包来将 sql 表复制到 MS Access 。

如果您想通过 .NET 启动,则创建一个 SSIS 包并从 .NET 调用它

For details

关于c# - 将表从 SQL Server 2008 复制到 MS Access 2007,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9849423/

相关文章:

c# - ArrangeOverride 在调用更多代码之前调用安排子项

c# - 如何找到给定月份的第 n 个 DayOfWeek?

sql-server - 在 asp.net-mvc 中打开一个文件

php - 简单的选择返回意想不到的结果

database - Access 2010 数据库增长过度

sql - 如何在不违反约束的情况下增加主键列中的现有值?

c# - 检查两个值之一是否为空而另一个不为空的简洁方法

c# - 如何使用 WinSCP .NET 程序集上传文件到家里?

java - 使用 MS SQL Server 的 DriverManager 上的 ExceptionInInitializerError

SQL - 多注册条件查询