我有一个ASP.Net应用程序,可以在本地开发计算机上正常运行。
当我在线运行此应用程序时,它显示以下错误
初始化字符串的格式不符合从索引0开始的规范
我有一个ASP.Net应用程序,可以在本地开发计算机上正常运行。
当我在线运行此应用程序时,它显示以下错误
初始化字符串的格式不符合从索引0开始的规范
Answers:
检查您的连接字符串。如果您需要帮助,请检查Connection Strings,其中列出了常用的字符串。
常用的连接字符串:
标准安全
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
可信连接
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
连接到SQL Server实例
服务器选项中使用的服务器/实例名称语法对于所有SQL Server连接字符串都是相同的。
Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;
Password=myPassword;
标准安全
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
可信连接
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
连接到SQL Server实例
服务器选项中使用的服务器/实例名称语法对于所有SQL Server连接字符串都是相同的。
Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;Password=myPassword;
标准
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
指定TCP端口
Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
使用TNS
Data Source=TORCL;User Id=myUsername;Password=myPassword;
使用集成安全性
Data Source=TORCL;Integrated Security=SSPI;
使用不带tnsnames.ora的ODP.NET
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;
这可能对某人有帮助。我的密码包含分号,因此正面临此问题。因此请在引号中添加密码。这确实是一个愚蠢的错误。
我更改了以下内容:
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password=pass;word" providerName="System.Data.SqlClient" />
至
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password='pass;word'" providerName="System.Data.SqlClient" />
我有同样的问题。该站点在本地运行良好,但是如果遇到上述消息,天蓝色肯定会失败。
原来问题是在ctor中设置了连接字符串,如下所示:
public DatabaseContext()
{
Database.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["db"].ConnectionString;
}
不起作用,这将:
public DatabaseContext() : base("db")
{
}
打败我..
检查您的连接字符串,就像我忘记添加一样 services.AddDbContext<dbsContext>(options => options.UseSqlServer("Default"));
它会导致错误,在这里添加Configuration.GetConnectionString
时就可以解决问题
就像现在的连接是:
services.AddDbContext<dbsContext>(options => options.UseSqlServer(Configuration.GetConnectionString("Default")));
工作正常(.net核心已解决此问题)
我通过更改ASP.NET Web Api的发布设置上的连接字符串来解决此问题。
检查我在这篇文章上的回答:如何解决错误::初始化字符串的格式不符合从索引0 ::开始的规范::
我有同样的错误。就我而言,这是因为我在连接字符串中缺少密码的右引号。
从这里改变
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password='password" providerName="System.Data.SqlClient" />
至
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password='password'" providerName="System.Data.SqlClient" />
我的问题是我向数据库对象的构造函数中添加了数据库日志记录代码,这似乎对我的azure部署配置文件造成了破坏。
仅供参考-我简化了此示例,在实际代码中,该代码已在生产环境中关闭(但仍在代码中)
public class MyDB : DbContext
{
public MyDB()
{
this.Database.Log = x => { Debug.WriteLine(x); };
}
}
我的连接字符串“ Database == PESitecore1_master”中有错字
<add name="master" connectionString="user id=sa;password=xxxxx;Data Source=APR9038KBD\SQL2014;Database==PESitecore1_master"/>
我遇到了同样的问题,最后我设法通过以下方式解决了这个问题:
问题出在我的web.config中的连接字符串定义中。
<add name="DefaultConnection" connectionString="DefaultConnection_ConnectionString" providerName="System.Data.SqlClient"/>
由于在管理用户和角色时使用了本地数据库,因此上述方法在本地工作得很好。当我将应用程序转移到IIS时,不再可以访问本地数据库,此外,我想在SQL Server中使用我的数据库。因此,我将以下SQL Server DB等效项更改为上面的连接字符串:
<add name="DefaultConnection" connectionString="data source=MY_SQL_SERVER; Initial Catalog=MY_DATABASE_NAME; Persist Security Info=true; User Id=sa;Password=Mybl00dyPa$$" providerName="System.Data.SqlClient"/>
注意:上述内容,还假设您将在本地框中使用同一SQL Server(以防您将其合并到本地web.config中-这正是我的情况)。
我遇到了同样的问题,发现IIS部署没有正确设置连接字符串。在IIS中查看站点的连接字符串时,它们是“ $(ReplacableToken_devConnection-Web.config连接字符串_0)”,而不是实际的连接字符串。我在那里更新了,一切都按预期进行
我在连接字符串的末尾删除了“,
代替
App=EntityFramework"
用过的
App=EntityFramework;
<add name="DefaultConnection" connectionString="data source=(local);initial catalog=NamSdb;persist security info=True;user id=sa;password=sa;MultipleActiveResultSets=True;App=EntityFramework;" providerName="System.Data.SqlClient" />
注意:在connectionString中不要包括:
| x | 元数据信息:“元数据= res:// * /”
| x | 编码的引号:“”
对于另一个不幸的人,该人正在管理使用内联sqldatasource的旧版Webforms应用程序以及存储在web.config中的连接字符串,那么如果访问诸如<%APSDataConnectionString%>之类的连接字符串而不是< %$ ConnectionStrings:MyConnectionString%>。将.NET从3.5升级到4.x时,这发生在我们身上。
<asp:DropDownList ID="ddl" runat="server" DataSourceID="SqlDataSource1"
DataTextField="value" DataValueField="id"></asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
SelectCommand="select id, value from a_table">
</asp:SqlDataSource>
在我的情况下,问题是在服务器上,应用程序使用了另一个appsettings.json文件。
据我所知,只要您的解决方案中有多个连接字符串(您的当前项目,启动项目等),您可能会遇到此错误
此链接可以帮助您 单击