我是微软公司的软件工程师,不时在大型项目之间,我被要求为这些大型项目提供支持。这几乎总是涉及某种形式的数据库交互,并且由Microsoft技术主导,我们选择的数据库当然是Microsoft SQL Server。这使得开发非Microsoft语言的支持应用程序成为一个真正的问题。
我看过Smalltalk,Go,Scheme和Factor,我总是得出相同的结论,它只是不可能或不值得努力,因为对这些语言的ODBC支持只是脆弱而有用。
我研究了通过Web服务创建数据访问层的可能性。虽然这并不总是理想的情况,但是如果有大量的数据,这可能会成为一个瓶颈。
我可以克隆数据并将其导入更开放的数据库系统,然后使用我选择的语言进行开发。这似乎是一个非常不必要的步骤,也意味着我不再使用主数据。
其他C#.Net开发人员如何开发严重依赖非Microsoft语言的Microsoft堆栈的支持应用程序?
答案 0 :(得分:1)
您可以考虑使用您选择的任何语言的本机驱动程序,而不是使用ODBC路由。这可能会更适合该语言的方法。例如,Python有pymssql和cx_oracle,它们都更符合语言的约定,而不是试图强制它成为ODBC的最小公分母。我不熟悉你列出的语言(目前还不清楚你是否仅限于这些问题),但我怀疑那里存在类似的情况。
FreeTDS在讨论SQL Server访问时也提出了很多,但主要是从Linux的角度来看。
另一种变体:如果您使用的是使用.Net DLR的内容,例如IronPython或IronRuby,您可以使用.Net Framework及其ADO.NET库,同时仍然应用新语言方法