Access数据库转换为sdf数据库及SqlCeHelper类
在做Mobile项目时遇到一个问题,我们的Mobile项目需要使用SqlCe数据库,而客户提供的带有原始数据的数据库是Access格式的,所以我们面临的第一个问题是将Access数据库(*.mdb)转换成SqlCe数据库(*.sdf)。网上搜索的很多资料是关于如何将SqlServer 2005与SqlCe数据进行同步,主要是通过发布订阅及RDA编程来实现,可以参考的资料有:
用 SQL Server Management Studio 管理 SQL Server Compact Edition 数据库
SQL CE 和 SQL Server 的同步
Step by Step: Program Microsoft SQL Server CE 2.0 Merge Replication Using .NET Compact Framework
后来找到一个工具Data Port Wizard可以直接将其他数据库转换为SqlCe数据库,省了不少事。只是转换过程中遇到一个小小的问题,在客户提供的Access数据库的关系里设置了很多表与表之间的关系,但所有的表都没有设置主键,所以转换时就抛出异常。为了省事,我将Access表的关系全部删除,这样就顺利的将Access数据库转换成SqlCe 3.5版本的sdf数据库了。
至于操作SqlCe的数据层的类,在网上找到一个SqlCeHelper.cs,转贴如下:
using System;
using System.Data;
using System.Data.SqlServerCe;
using System.Configuration;
using System.Collections;
namespace SbuxMobile.DAL
{
///
/// The SqlCeHelper class is intended to encapsulate high performance, scalable best practices for
/// common uses of SqlClient
///
public sealed partial class SqlCeHelper
{
#region private utility methods & constructors
// Since this class provides only static methods, make the default constructor private to prevent
// instances from being created with "new SqlCeHelper()"
private SqlCeHelper() { }
///
/// This method is used to attach array of SqlCeParameters to a SqlCeCommand.
///
/// This method will assign a value of DbNull to any parameter with a direction of
/// InputOutput and a value of null.
///
/// This behavior will prevent default values from being used, but
/// this will be the less common case than an intended pure output pa
相关文档:
前些天弄一个访问ACCESS数据库的小东西,费了些力气才弄好。
虽然还有些不尽人意,但是终究还是可以用了,
在这里分享一下自己的实现方法和经验。
里面的东西网上都有,但是,这里的是最全的。
VC/MFC访问ACCESS数据库
方法1:
1 创建一个基于对话框的应用程序。
放入两个ActiveX 控件 Mic ......
接 2
方法3 :
这种方法也需要用户自己创建一个数据源,但是,所需要进行的步骤,比方法2要少上许多。
创建好用户表。
创建数据源(控制面板->数据管理->数据源 双击 -> 选择 文件 DSN -> 添加 -> Microsoft Access Driver -> 手动输入DSN 保存的位置及名称 -> 选择(S) 并选 ......
注释 本主题中的信息仅适用于 Microsoft Access 数据库 (.mdb)。
有各种不同的策略用来控制对 Microsoft Access 数据库及其对象的访问级别。下面大致按照安全级别的顺序,简要介绍这些策略。
编码/解码
为数据库编码是最简单的保护方法。为数据库编码可压缩数据库文件,并帮助防止该文件被文字处理程序读取。但 ......
MS Access ODBC connection strings
Standard Security:
"Driver= {MicrosoftAccessDriver(*.mdb)};DBQ=C:\App1\Your_Database_Name.mdb;Uid=Your_Username;Pwd=Your_Password;"
Workgroup:
"Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:\App1\Your_Database_Name.mdb; SystemDB=C:\App1\Your_Database_Name.mdw ......