2012-11-14 44 views
1

之外,我在微软的软件工程师为主的公司,目前,然后同时较大的项目之间我被要求为那些大项目的支持。这几乎总是会涉及某种形式的数据库交互,并被微软技术所垄断,我们选择的数据库当然是Microsoft SQL Server。这使得在非Microsoft语言中开发支持应用程序成为一个真正的问题。连接到SQL Server从微软的软件堆栈

我已经看过Smalltalk,Go,Scheme和Factor,并且我总是会得出同样的结论,它只是不可能或值得付出努力,因为对这些语言的ODBC支持只是脆弱而无用。

我已经调查通过Web服务创建数据访问层的可能性。尽管这并不总是理想的情况,并且大量的数据可能会成为瓶颈。

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

如何被其他C#.NET开发人员开发能够在很大程度上依赖于非微软语言的Microsoft堆栈支持应用程序?

+3

我写他们在C#中,为什么这是你的问题? – ChrisBint

+1

这不是问题。我只想调查软件栈以外的其他语言,以及比现实世界的问题更好的方法。 – flip

+1

你想用另一种语言解决什么问题? – NullUserException

回答

1

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

FreeTDS也出现了很多的SQL Server访问的讨论,但大多是从Linux的观点。

另一个变化:如果你使用的东西,使用.NET DLR如IronPythonIronRuby,你能使用.NET Framework和它的ADO.NET库,同时还运用一种新的语言方式。

+0

本地驱动程序当然是最好的解决方案,我确实调查过。在我看到的语言中,本地驱动程序看起来比ODBC实现更糟糕。 :) 关于.Net DLR路由的一个很好的提示,它并没有真正考虑到这一点,我过去已经听到很多关于Iron语言连接的信息。 – flip

+0

从Iron的语言范围来看,它看起来只有Python和Ruby被积极开发。所以我认为我的旅程可以从这两个开始。 – flip