gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 22:01:43 27 4
gpt4 key购买 nike

首先,对于那些想问我到底为什么要从 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/

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