2012-02-24 61 views
2

我一直在使用LINQPad为原型针对SQL 2000数据库中的一些疑问,并认为因为我使用LINQPad内置的LINQ到SQL供应商,我会能够在Visual Studio项目中生成相同类型的数据上下文。LINQ到SQL“不支持的数据提供者”错误与SQL Server 2000

我加入VS2010到Visual Studio服务器资源管理器新的数据连接。它迫使我使用“Microsoft SQL Server(OLE DB)”,因为“Microsoft SQL Server(SqlClient)”仅适用于SQL 2005及更高版本。然后我试图拖动表格到我的dbml面,但我得到了以下信息:

选定的对象(S)使用不支持的数据提供

我已经通过复制找到了一个非常哈克解决方法LINQPad本身构建到Temp文件夹中的TypedDataContext dll,也引用LINQPad.exe本身(这是类型化数据上下文基类所需的)。但是我真的宁愿让LINQ to SQL在我的项目中正常工作。

我这样做(这是使用LINQ我第一次到SQL)错,还是愚蠢?有没有一种方法可以生成LINQPad可以使用的相同类型的数据类? This answer表示它应该是可能的。

+1

出于好奇,你为什么要积极开发使用新技术连接到SQL Server 2000的新软件? SQL 2000远远没有主流支持,它与SQL 2005+之间的差异将会使你持续开发新软件变得非常麻烦...... – 2012-02-24 18:14:03

+1

我们正在编写一个内部工具来将数据从SQL Server 2000迁出进入不同的系统。 LINQPad使得我们想要使用的所有查询的原型变得非常容易,我甚至不知道它是SQL Server 2000,直到我尝试制作我的VS项目。 – 2012-02-24 19:15:11

回答

1

看来,这是Visual Studio 2010中的限制如果您在Visual Studio 2008中的dbml它连接到SQL Server 2000没有问题,可以创建的LINQ to SQL类型的DataContext。

+0

这很好,但必须找到Visual Studio 2008的副本才能创建一个在Visual Studio 2010中使用的dbml文件,这只是令人讨厌的。微软在VS2k10中留下这个功能有多简单,我只是不明白。 – stephenbayer 2012-05-02 14:13:13

2

您可以复制的模式到SQL 2005/2008框,然后使用,在VS.创建类型的DataContext一旦你有了类型化的DataContext,你应该可以为它提供一个SQL 2000连接字符串。

+0

感谢您的建议。我最终只是在VS2008中创建了类型化的DataContext – 2012-02-27 10:08:15

相关问题