我开始在我的 Mac 上使用 Mono 做 ASP.NET,我想知道人们在这个设置中使用了哪些数据库。我会寻找易于设置的东西,因为这只是为了好玩和继续学习 ASP.NET。
5 回答
出于您的目的,Mono 附带的SQLite版本(请参阅此处)看起来很完美,而 PostgreSQL(或者,我猜,甚至是 MySQL;-)可能是多么美妙;-)。
SQLite 无处不在(在 .NET 中,在 iPhone 中,Mono 中,Python 中,Android 中等等),所以熟悉它几乎不会受到伤害!-)
你可以使用 MySQL——它有很好的文档并且有 .Net 驱动程序。有关包含驱动程序信息的完整列表,请参见http://www.mono-project.com/Database_Access。
通过 MacPorts 的 Postgresql。Npgsql 作为 .Net 驱动程序。
哇... SQLite 没有与 Mono 一起安装,我不相信;只是连接器。从接受的答案用来表示它已经存在的同一个 URL ...
先决条件
如果您没有 SQLite,请下载它。有适用于 Windows 和 Linux 的二进制文件。您可以将 .dll 或 .so 放在应用程序二进制文件旁边,或放在系统范围的库路径中。
如果您想要一个可以在 OS X(和其他地方)上运行的数据库,除了重新编译之外没有任何更改或先决条件,C#-SQLite是 SQLite 到 C# 的非官方逐行端口,可能值得一看。编译存在问题(这里是去年 5 月的一个示例),但经过一些研究,它显然没问题(最初它有一些 P/Invokes 阻止了 OS X(以及 Silverlight)上的编译,这些已被删除)。
编译问题的更好例子以及一些乐观的理由:
哪些步骤将重现该问题?
- 编译数据库和 SqliteClient 和 SqliteClientTests (工作正常)
- 使用命令“mono SqliteClientTests.exe”运行测试 1
- 哭!
...
评论 1 来自项目成员 market.n...@gmail.com,2011 年 9 月 15 日 您是否就此联系过 Mono 的 Miguel de Icaza?我忘记了细节,但他设置了一些编译器标志来让它工作。
他在去年三月告诉我,它正在工作。也许 3.7.7.1 代码集破坏了一些东西。您是否尝试过 3.7.5 或 3.7.6 版本?
所以做你的功课,但我认为一旦你得到一个好的构建,这可能就是你的答案。
我很久以前使用过:Firebird、MySql、SQLite、Oracle 甚至 Postgres。