Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c中使用odbc代替sql server连接#_C#_Sql_Ado.net_Odbc - Fatal编程技术网

C# 在c中使用odbc代替sql server连接#

C# 在c中使用odbc代替sql server连接#,c#,sql,ado.net,odbc,C#,Sql,Ado.net,Odbc,问候和问候! 我在一个有开发服务器、QA服务器和生产服务器的环境中工作。我最近遇到了一些问题,因为我希望在本地工作,并将本地开发连接到我们的开发服务器。当我部署到开发服务器时,我希望数据连接继续连接到开发服务器,但当我部署到QA或生产时,我希望它连接到当前服务器上的数据库 我提出了一个解决方案,使用ODBC数据源连接到SQL,而不是使用标准SQL数据连接,这是最简单的管理方法。这意味着更改连接字符串,同时使用odbc ado.net而不是SQL ado.net 我的问题是,与标准SQL连接相比,

问候和问候! 我在一个有开发服务器、QA服务器和生产服务器的环境中工作。我最近遇到了一些问题,因为我希望在本地工作,并将本地开发连接到我们的开发服务器。当我部署到开发服务器时,我希望数据连接继续连接到开发服务器,但当我部署到QA或生产时,我希望它连接到当前服务器上的数据库

我提出了一个解决方案,使用ODBC数据源连接到SQL,而不是使用标准SQL数据连接,这是最简单的管理方法。这意味着更改连接字符串,同时使用odbc ado.net而不是SQL ado.net

我的问题是,与标准SQL连接相比,使用ODBC连接是否有任何缺点、限制或性能损失?这会阻止我以后使用LINQ/实体框架吗

谢谢,
Paul

我不能讨论性能,但是您是否将连接字符串存储到数据库的配置文件中?在我看来,更改连接机制是更改连接字符串以找到正确服务器的更复杂的解决方案。

我无法讨论性能,但您是否将连接字符串存储到配置文件中的数据库中?在我看来,更改连接机制是更改连接字符串以找到正确服务器的更复杂的解决方案。

通常只有在创建到数据库的连接时,性能才会下降。对于所有提供程序类型,该操作都是密集的

如果我错了,请有人纠正我,但从.NET4开始,Microsoft已经创建了一个Oracle驱动程序,我相信它允许LINQ使用SQL。我知道它在某一点上正在开发中,而且我知道Oracle驱动程序是针对.NET4的,所以我假设是同一个


但是,LINQ to Entities是不依赖于数据库的,只要您坚持使用它,就应该没有问题。

通常只有在创建到数据库的连接时才会降低性能。对于所有提供程序类型,该操作都是密集的

如果我错了,请有人纠正我,但从.NET4开始,Microsoft已经创建了一个Oracle驱动程序,我相信它允许LINQ使用SQL。我知道它在某一点上正在开发中,而且我知道Oracle驱动程序是针对.NET4的,所以我假设是同一个


然而,LINQ to Entities是db不可知的,所以只要你坚持,你就应该没事。

好的,我自己想出来的。我使用SQL驱动程序对代码进行了基准测试,与使用ODBC驱动程序的代码完全相同

我的结果如下

  • ODBC驱动程序:100%连接成功。平均持续时间796 毫秒
  • SQL驱动程序:100%连接成功!平均持续时间 641毫秒
ODBC驱动程序的执行速度稍慢。我仍然可以使用,因为这个基准又是20000条记录,所以差异应该非常小

谢谢大家的帮助


保罗

好吧,我自己想出来的。我使用SQL驱动程序对代码进行了基准测试,与使用ODBC驱动程序的代码完全相同

我的结果如下

  • ODBC驱动程序:100%连接成功。平均持续时间796 毫秒
  • SQL驱动程序:100%连接成功!平均持续时间 641毫秒
ODBC驱动程序的执行速度稍慢。我仍然可以使用,因为这个基准又是20000条记录,所以差异应该非常小

谢谢大家的帮助


Paul

是否有理由不将连接字符串存储在配置文件中,而只是根据环境修改配置文件?您的帖子没有解释为什么标准sql连接字符串(再次-针对环境修改)不起作用。是否有理由不将您的连接字符串存储在配置文件中,而只根据环境修改配置文件?您的帖子没有解释标准sql连接字符串(再次针对环境进行了修改)无法工作的原因。它存储在web.config文件中。无论何时部署,更改它都不是什么大不了的事,但我们的团队对我们的开发、QA和生产服务器的代码有限制,这些代码并不完全相同。使用ODBC数据源可以解决此问题。这不是一件很难实现的事情,事实上我已经完成了。我只是想看看是否有人知道在连接到SQLServer时使用odbc驱动程序而不是SQLServer驱动程序是否有缺点。它存储在web.config文件中。无论何时部署,更改它都不是什么大不了的事,但我们的团队对我们的开发、QA和生产服务器的代码有限制,这些代码并不完全相同。使用ODBC数据源可以解决此问题。这不是一件很难实现的事情,事实上我已经完成了,我只是想看看是否有人知道在连接到SQLServer时使用odbc驱动程序比SQLServer驱动程序有缺点。