使用Visual Studio Express Edition连接到SQL Server

我发现在Visual C#2008 Express版本中,当你使用数据库浏览器时,你的select是:

  1. Microsoft Access
  2. SQL Server Compact 3.5和
  3. SQL Server数据库文件。

但是如果您使用Visual Web Developer 2008 Express,则可以连接到常规的SQL Server,Oracle,ODBC等

对于开发需要与SQL Server数据库交谈的命令行或其他C#应用程序的人员,是否真的需要使用一个IDE(Visual Web Developer)和另一个Visual C#中的程序构buildLINQ / Data Access代码?

这不是一个艰难的解决方法,但似乎很奇怪。 如果微软想要强制升级到Visual Studio来连接到SQL Server,为什么他们将这个function包含在其中一个免费的IDE中,而不是其他的? 我觉得我可能会错过一些东西(比如如何在Visual C#中完成)。

您应该能够selectSQL Server数据库文件选项以获取正确types的数据库( system.data.SqlClient提供程序),然后手动更正连接string以指向您的数据库。

我认为这些数据库select背后的原因可能是这样的:

  • 如果您使用的是Express Edition,而您没有使用Visual Web Developer,则可能是在构build一个桌面程序。
  • 如果你正在构build一个桌面程序,而你正在使用快速版,那么你可能是一个在家工作的业余爱好者或UISV-er,而不是为一个公司开发。
  • 如果您没有为公司开发应用程序,那么您的应用程序可能注定要用于最终用户,并且您的数据存储可能正在本地计算机上运行。
  • 你真的不应该把服务器级的数据库部署到最终用户的桌面上。 像Sql Server Compact或MS Access这样的进程内数据库更合适。

但是,这个逻辑并不完全适用。 即使这四点中的每一点在90%的时间都是真实的,那么当你申请全部四个点时,它只适用于大约65%的观众,这意味着高达35%的快递市场可能合法地想说话到服务器级数据库,这是一个重要的群体。 所以,简化(贪婪)版本:

  • 一个真正的数据库服务器(和运行它的硬件)花费真正的钱。 如果你有机会获得这些,你应该至less能够承受标准版的视觉工作室。

解决方法:

  1. 在Visual Web Developer Express中打开您的解决scheme。 它不会加载解决scheme中的一些项目,但没关系。
  2. 在数据库浏览器中build立一个新的连接到SQL Server所需的数据库。
  3. 添加一个新的类库项目。
  4. 添加一个LINQ到SQL类项目,并将其链接到您的数据库。
  5. closures解决scheme。
  6. 在Visual C#Express中打开解决scheme。

现在,您有一个LINQ to SQL类库,它链接到Visual C#Express中的SQL Server数据库。

更新

该解决scheme适用于Visual Studio Express 2010。

我的猜测是,使用VWD,您的解决scheme更可能部署到第三方服务器,其中许多服务器不允许dynamic连接的SQL Server数据库文件。 因此允许其他连接types。

IDE行为的这种差异是升级到完整版本的关键原因之一。

如果你正在使用这个来获得我为Visual Developer所需要的LINQ to SQL,1)获得免费的Visual Web Developer,使用它连接到SQL Server实例,创build你的LINQ接口,然后将生成的文件复制到你的Vis-Dev项目(我不使用VD,因为它听起来很有趣)。 仅包含* .dbml文件。 Vis-Dev环境将花费一两秒钟的时间来识别支持文件。 这只是一个额外的步骤,但肯定比手工完成或完全放弃或甚至付出更大的代价。 Mooo哈哈哈哈。

我能够让C#Express 2008工作的唯一方法就是移动数据库文件。 所以,我打开SQL Server Management Studio,删除数据库后,我将文件复制到我的项目文件夹。 然后我把数据库重新连接到pipe理工作室。 现在,当我试图附加到本地复制它的作品。 显然,你不能多次使用同一个数据库文件。

为了方便起见,我碰巧在windows窗体中开始了我的家庭业务应用程序。 我目前正在使用Visual C#Express 2010 / SQL Server 2008 R2 Express来开发它。 我得到了与OP相同的问题,我需要连接到SQL服务器的实例。 我在这里跳过细节,但该数据库将是一个合并的数据库2-3台计算机之间同步,也将使用我现在正在开发的应用程序。

我发现一个快速的解决方法,至less,我想我做了,因为我现在能够在tableadapters中使用我的存储过程,没有任何问题。

我复制粘贴在一个不同的项目中使用的SQL连接(VS2010 Premium)在app.config中,并改变了我需要的一切。 当我回到我的Settings.settings,我只需要确认我想要什么是在app.config文件。 我可以看到唯一的缺点是你不能“testing”连接,因为当你进入连接string的configuration时,你不能去任何地方,因为“SQL Server”不是一个选项。 另一个缺点是您需要手动input所有内容,因为您无法使用任何向导来使其工作。

我不知道是否应该这样做,但至less我现在可以连接到我的SQL服务器:)。

编辑:

它只适用于SQL Server 2008 R2 Express实例。 如果您尝试使用SQL Server 2008 R2 Workgroup,则会收到来自Visual C#2010 Express的令人讨厌的警告,告诉您“您无法使用Visual Studio当前版本的连接”。 当我试图修改我的一些桌面适配器时,我知道了。 我切换回SQL Express实例来开发,它再次正常工作。