1

我是一家微软主导的公司的软件工程师,有时在大型项目之间,我被要求为这些大型项目提供支持。这几乎总是涉及某种形式的数据库交互,并且由 Microsoft 技术主导,我们选择的数据库当然是 Microsoft SQL Server。这使得以非 Microsoft 语言开发支持应用程序成为一个真正的问题。

我看过 Smalltalk、Go、Scheme 和 Factor,我总是得出相同的结论,即不可能或不值得付出努力,因为 ODBC 对这些语言的支持太脆弱而无法使用。

我研究了通过 Web 服务创建数据访问层的可能性。但是,这并不总是理想的情况,并且在大量数据的情况下,这可能会成为瓶颈。

我可以克隆数据并将其导入更开放的数据库系统,然后用我选择的语言进行开发。这似乎是一个非常不必要的步骤,也意味着我不再使用原始数据。

其他 C# .Net 开发人员如何以非 Microsoft 语言开发严重依赖 Microsoft 堆栈的支持应用程序?

4

1 回答 1

1

您可以考虑使用您选择的任何语言的本机驱动程序,而不是采用 ODBC 路线。这可能会更好地“适合”该语言的方法。例如,Python 有pymssql和 cx_oracle,它们每个都更符合语言的约定,而不是试图强迫它成为 ODBC 的最小公分母。我不熟悉您列出的语言(不清楚您是否将这个问题仅限于这些语言),但我怀疑那里存在类似的情况。

FreeTDS在 SQL Server 访问的讨论中也出现了很多,但主要是从 Linux 的角度来看。

另一个变体:如果您使用使用 .Net DLR 的东西,例如IronPythonIronRuby,您可以使用 .Net Framework 和它的 ADO.NET 库,同时仍然应用新的语言方法。

于 2012-11-15T01:47:06.827 回答