我正在使用具有存储过程的 sqlServer 数据库,并且我想使用内存数据库对我的代码进行单元测试。
我看过一些——包括看起来很棒但价格昂贵的 VistaDB——而 Blackfish 似乎是迄今为止唯一的可能性。在使用它之前,虽然我想确切地知道它与 TSQL 的兼容性 - 显然,如果我有很多现有的存储过程,这些将使用 TSQL,所以我使用的内存数据库可以处理这个很重要。
谢谢
我正在使用具有存储过程的 sqlServer 数据库,并且我想使用内存数据库对我的代码进行单元测试。
我看过一些——包括看起来很棒但价格昂贵的 VistaDB——而 Blackfish 似乎是迄今为止唯一的可能性。在使用它之前,虽然我想确切地知道它与 TSQL 的兼容性 - 显然,如果我有很多现有的存储过程,这些将使用 TSQL,所以我使用的内存数据库可以处理这个很重要。
谢谢
简短的回答:不是很
长答案:
虽然 Blackfish 与 SQL-92 兼容,但您一定会遇到在 T-SQL 数据库上工作但在 BlackFish 上不工作的东西。
我强烈推荐 SQL Server Compact 4.0(或紧急情况下的 Express),Compact 可以轻松捆绑,占用空间很小(3mb 安装程序?[18mb on disk ish])。
例如,T-SQL 流控制可能与 Blackfish 流控制不同 - 与选择、插入和更新等并不真正相关,但如果您在存储过程中有 T-SQL 逻辑门,我认为这些不会移植到 Blackfish?Blackfish 支持存储过程,但它们是用其他本地语言(主要是 Delphi)编译的。文档中的好例子:
与 MS SQL 中使用的 T-SQL 过程非常不同