出于软件测试的目的,我想创建一个生产数据库的无菌克隆(所有数据都被清空)。这样我每次都可以在一组已知的记录上运行我的单元测试。我希望尝试在单元测试中以编程方式执行此操作,以便我可以确保表中包含功能测试所需的测试数据。
我发现以下information与在C#中创建Access数据库有关。注意:我知道Access可能不是最好的解决方案,但它足够好!
我想知道的是,是否有一种方法可以使用TableAdapters(可能)在空白Access数据库文件中复制生产数据库模式(没有任何数据)?
答案 0 :(得分:4)
这样做:
DELETE * FROM [table]
。如果你有FK依赖项,那么运行它几次,直到没有错误 - 或者TRUNCATE [table]
作为评论答案 1 :(得分:0)
我没有太多使用Access的经验,但通常你会为此目的创建一个CREATE脚本。大多数数据库工具都具有创建此类脚本的功能。这样的脚本基本上是一组创建所有对象(例如数据库,视图)的SQL语句。
正在搜索CREATE script and Access will give you some starting points。
答案 2 :(得分:0)
我对Access作为生产数据库有不好的经历。我不会推荐。要么使用SQLite,要么使用Firebird。
其次,是的,您可以使用TableAdapters。您需要为每个数据库创建两个连接。但我认为可能有工具可以做到这一点。
已编辑**
数据库有多大?对于高达4GB的版本,Oracle Express Edition可能会有所帮助。此外,从Oracle克隆到Oracle也很容易。