【问题标题】:ASP.NET ERROR : Keyword not supported: 'provider'ASP.NET 错误:不支持关键字:“提供者”
【发布时间】:2010-09-29 18:30:19
【问题描述】:

我的应用程序在这行代码处失败:

Dim objConnection As New SqlConnection(Application("ConnString"))

我的连接字符串是:

"Server=testAITSQL;Database=SSCommerce;UID=PlanoWebApp;PWD=XXXXXXXX;"

我用谷歌搜索了这个问题,它的解决方案是有一个格式错误的连接字符串,其中“提供者”在不应该有的情况下被指定。示例连接字符串:

Provider=SQLOLEDB.1;Integrated Security=SSPI;DATABASE=APInquiry;SERVER=SqlServer

我没有指定提供者,所以我认为我有不同的问题...???

【问题讨论】:

  • 您使用的是什么版本的 SQL?您得到的确切错误是什么?
  • 不是我不相信你,但是当你在你发布的第一行调试和中断时,你确定 Application("ConnString") 是你所期望的吗?
  • 另外,你的配置文件中有多个连接字符串吗?
  • SQL 2005。错误:[System.ArgumentException:不支持关键字:'provider']。我确实有多个 conn 字符串,它们几乎相同,所以我仍然不明白“提供者”的来源。 Application("ConnString") 实际上在我在那里放置一个中断时会显示我正确的 conn 字符串。注意:*** 当我在本地运行此应用程序时,它运行良好,但当我将它移到我的“测试”服务器时,它会因上述错误而失败。

标签: asp.net sql vb.net sql-server-2005 connection-string


【解决方案1】:

您的测试服务器是否具有与您的开发机器完全相同的配置文件?我怀疑您的测试机器上的配置文件中的ConnString 值可能与您预期的不同。

【讨论】:

  • 是的。这很可能是问题所在。当一个人真正阅读问题时似乎很明显;-)
  • @Sky - 我今天阅读问题的方式,我很乐意做对一个:)
  • 测试服务器上的应用程序有它自己的 global.asa,我将我的更改与它自己的 global.asax 合并到该应用程序的子目录中(不知道这是可能的 - 应用程序虽然是经典的 asp,但我的更改是 .NET)。无论如何,应用程序的全局变量覆盖了我的全局变量。
【解决方案2】:

Provider=xxxx 不是有效的 .net 连接字符串令牌。

您已经通过实例化 SqlConnection 隐式指定提供程序。

放弃提供者对,您将成为黄金。

【讨论】:

  • 假设@user408869 发布了正确的连接字符串,@user408869 表示他们没有在连接字符串中使用 Provider
  • @lit - 没错。我认为您实际阅读该问题的事实可能与您可能的正确答案有关。 ;-)
  • 说到底,你最终可能在技术上也是正确的,这是最好的一种正确
【解决方案3】:

也许,对于 sh!7s 和咯咯笑,试试 Application("ConnString").tostring

您正在连接到 SQL Server,对吗? 我的 ConnString 有以下选项: 服务器 数据库 用户身份 密码

【讨论】:

  • 哪件事不起作用? .tostring() 还是使用我提供的 4 个关键字?
  • EG:Server=ServerName;Database=DBName;User ID=Username;Password=PWD;
  • ToString 不起作用,我也检查了我的 conn 字符串中的 4 个关键字。
猜你喜欢
  • 2011-07-18
  • 2012-12-20
  • 2017-07-03
  • 1970-01-01
  • 2015-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多