无效的授权规范

Posted

技术标签:

【中文标题】无效的授权规范【英文标题】:Invalid authorization specification 【发布时间】:2015-01-13 10:47:40 【问题描述】:

请帮我解决问题。

我遇到了以下问题

OleDbException was unhandled by user code
Invalid authorization specification

我的代码:

string connectionString = ConfigurationManager.ConnectionStrings["OLEDbConnection"].ToString();
    OleDbConnection con = new OleDbConnection(connectionString);
   SqlConnection(ConfigurationManager.ConnectionStrings["App_Data\\DavidsFlowershop.mdb"].ToString());
    string a = "select ProductName, Price from Products_tbl where ID=" + Request.QueryString["ID"].ToString();
try
    
        con.Open(); <-- i got my problem here
        OleDbCommand cmd = new OleDbCommand(a, con);
        OleDbDataReader reader = cmd.ExecuteReader();
        reader.Read();

web.config:

<connectionStrings>
<add name="OLEDbConnection" connectionString="data source=App_Data\DavidsFloweShop.mdb; Provider=SQLOLEDB" providerName="System.Data.OleDb.OleDbConnection"/>

【问题讨论】:

添加User Id=XYZ 属性。重用不是用于 ole db 的连接字符串后,我得到了同样的错误。将 User=XYZ 更改为 User Id=XYZ 修复了它。您也可以决定使用 Windows 身份验证,在这种情况下,您可以添加 Integrated Security=SSPI 并删除 User Id 属性。 【参考方案1】:

你的 web.config 中的连接字符串是

data source=App_Data\DavidsFloweShop.mdb; Provider=SQLOLEDB

但是

Provider=SQLOLEDB

行不通。如果您的代码将以 32 位运行,则需要使用

Provider=Microsoft.Jet.OLEDB.4.0

如果这不起作用,那么您的代码可能以 64 位运行,在这种情况下您需要使用

Provider=Microsoft.ACE.OLEDB.12.0

并确保您安装了 64 位版本的 Access Database Engine。

【讨论】:

我尝试将 Provider=SQLOLEDB 更改为 Microsoft.Jet.OLEDB.4.0 但我收到此错误。 'C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\App_Data\DavidsFloweShop.mdb' 不是有效路径。确保路径名拼写正确,并且您已连接到文件所在的服务器。 我更改了数据源,现在我遇到了这个问题。 “没有为一个或多个必需参数提供值。”从此代码 - OleDbDataReader reader = cmd.ExecuteReader(); @戈德汤普森 @J.Anne 那将是一个不同的问题。在您搜索 Stack Overflow(以及整个 Web)之后,如果您仍然需要有关新错误消息的帮助,那么您应该 ask a new question。【参考方案2】:

您的连接字符串有问题。

查看http://www.connectionstrings.com,看看是否有适用于您的特定案例/数据库技术的示例。

【讨论】:

以上是关于无效的授权规范的主要内容,如果未能解决你的问题,请参考以下文章

java.sql.SQLInvalidAuthorizationSpecException:无效的授权规范 - 未找到

SendGrid API 密钥不起作用。 “提供的授权授权无效、过期或撤销”

Azure API 管理:使用 Oauth2 401 的授权给出“未经授权。访问令牌丢失或无效。”

企业岗位授权方法

HTTP 规范:代理授权和授权标头

Delphi 运行后错误提示“无效的授权说明”