初始化字符串的格式不符合从索引0开始的规范

G.S*_*gal 120 c# asp.net sql-server-2008

我有一个ASP.Net应用程序,它在我的本地开发机器上运行良好.

当我在线运行此应用程序时,它显示以下错误

初始化字符串的格式不符合从索引0开始的规范

Han*_*año 161

检查连接字符串.如果您需要帮助,请查看Connection Strings,其中包含常用列表.

常用的连接字符串:

SQL Server 2012

标准安全

Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
Run Code Online (Sandbox Code Playgroud)

可信连接

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
Run Code Online (Sandbox Code Playgroud)

连接到SQL Server实例

服务器选项中使用的服务器/实例名称语法对于所有SQL Server连接字符串都是相同的.

Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;
Password=myPassword;
Run Code Online (Sandbox Code Playgroud)

SQL Server 2005

标准安全

Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
Run Code Online (Sandbox Code Playgroud)

可信连接

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
Run Code Online (Sandbox Code Playgroud)

连接到SQL Server实例

服务器选项中使用的服务器/实例名称语法对于所有SQL Server连接字符串都是相同的.

Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;Password=myPassword;
Run Code Online (Sandbox Code Playgroud)

MySQL的

标准

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Run Code Online (Sandbox Code Playgroud)

指定TCP端口

Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Run Code Online (Sandbox Code Playgroud)

神谕

使用TNS

Data Source=TORCL;User Id=myUsername;Password=myPassword;
Run Code Online (Sandbox Code Playgroud)

使用集成安全性

Data Source=TORCL;Integrated Security=SSPI;
Run Code Online (Sandbox Code Playgroud)

使用没有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;
Run Code Online (Sandbox Code Playgroud)

  • 我的问题与错误的ConnectionString无关.我能够从我的开发人员机器连接到生产数据库并使用它.当我部署相同的设置时,我收到此错误.你知道什么可能出错吗?谢谢 (8认同)
  • 丹尼斯可能会发生很多事情.首先,您的服务器和您的开发机器是否在同一个网络中?你使用什么样的登录?你使用任何类型的代理,你是否在prod服务器的防火墙后面?进入任何VPN? (2认同)
  • 我不确定谁负责,是Visual Studio,Web部署工具还是托管smarterasp.net.部署应用程序时,有些东西改变了我的连接字 我直接访问web.config并手动更新它,它的工作原理.感谢您的+1时间;) (2认同)

Abd*_*yed 13

这可能有助于某人..我的密码包含分号,所以面对这个问题.所以在引号中添加了密码.这真是一个愚蠢的错误.

我改变了以下内容:

<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password=pass;word" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password='pass;word'" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)


Mar*_*art 10

将包含您的DbContext类的项目设置为启动项目.

我在打电话时遇到这个错误enable-migrations.即使在Package Manager Console我选择的权利中Default project,它仍然在查看该启动项目的web.config文件,其中连接字符串不存在.

  • +1.我认为启动项目应该是包含连接字符串的项目.这是我的问题.感谢您对Startup项目的建议. (4认同)

use*_*291 6

检查您的连接字符串,就像我忘记添加一样 services.AddDbContext<dbsContext>(options => options.UseSqlServer("Default"));

它会导致错误,当我添加时Configuration.GetConnectionString,它解决了问题

现在的连接是:

services.AddDbContext<dbsContext>(options => options.UseSqlServer(Configuration.GetConnectionString("Default")));
Run Code Online (Sandbox Code Playgroud)

工作正常(此问题已为 .net core 解决)