我正在尝试在我的web.config文件(Visual Studio 2008/ASP.NET 3.5)中将连接字符串设置为本地服务器(SQL Server 2008).
在我的web.config中,我如何以及在何处放置连接字符串?
以下是web.config文件现在的样子:http://imwired.net/aspnet/Online_web.config
我想从配置文件中只读取一个连接字符串,并为此添加一个名为"appsettings.json"的文件到我的项目中,并在其上添加以下内容:
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-
WebApplica71d622;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
Run Code Online (Sandbox Code Playgroud)
在ASP.NET上我使用了这个:
var temp=ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
Run Code Online (Sandbox Code Playgroud)
现在我如何在C#中读取"DefaultConnection"并将其存储在.NET Core中的字符串变量中?
我见过的每个SQL Server连接字符串都是这样的:
Data Source=MyLocalSqlServerInstance;Initial Catalog=My Nifty Database;
Integrated Security=SSPI;
Run Code Online (Sandbox Code Playgroud)
我是否需要初始目录设置?(显然不是,因为我正在处理的应用似乎没有它.)
那么,那是什么呢?
database sql-server connection-string database-connection sql-server-2005
是的我读了这个如何找到MS SQL Server 2008的端口?
没运气.
telnet 1433
返回连接失败,所以我必须指定其他端口.
我试着用
netstat -abn
但是我没有在这个列表中看到sqlservr.exe或类似的东西.
为什么这么难找到那个港口?:/
我用Entity Framework Code First,
我的连接字符串位于配置文件中:
<connectionStrings>
<clear/>
<add name="ApplicationServices" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
当我尝试访问数据(应该创建数据库的东西)时,会出现以下错误:
<connectionStrings>
<clear/>
<add name="ApplicationServices" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我的网络配置中有一个连接字符串:
<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)
如您所见,密码中有一个引号(")(从其他部门给出.我无法更改此db用户密码).
如何在此连接字符串中转义引号?
顺便说一句:我已经尝试过" 在字符串中.那不起作用 - ado.net得到了一个ArgumenException:"初始化字符串的格式不符合从索引57开始的规范." 57是" 在我的连接字符串中.我也尝试将密码部分包含在' - 也没用.
还试过""和\" - 无法解析web.config.
谢谢你的解决方案:
我必须结合双引号的转义并将密码放在单引号中:
<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass"word'" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud) 我正在开发一个简单的C#应用程序,我想知道这一点:当我在PC上将我的应用程序连接到SQL Server时,我知道连接字符串(服务器名称,密码等),但是当我将它连接到另一个时PC,SQL Server连接字符串不同.SQL Server中是否有可以连接的默认帐户的公共帐户?我sa在SQL Server中听说过帐号,是什么sa?
我有一个Web API项目,它引用了我的模型和DAL程序集.向用户呈现登录屏幕,他可以在其中选择不同的数据库.
我按如下方式构建连接字符串:
public void Connect(Database database)
{
//Build an SQL connection string
SqlConnectionStringBuilder sqlString = new SqlConnectionStringBuilder()
{
DataSource = database.Server,
InitialCatalog = database.Catalog,
UserID = database.Username,
Password = database.Password,
};
//Build an entity framework connection string
EntityConnectionStringBuilder entityString = new EntityConnectionStringBuilder()
{
Provider = database.Provider,
Metadata = Settings.Default.Metadata,
ProviderConnectionString = sqlString.ToString()
};
}
Run Code Online (Sandbox Code Playgroud)
首先,我如何实际更改数据上下文的连接?
其次,由于这是一个Web API项目,连接字符串(在每个登录时设置)在整个用户的交互中是持久的还是应该每次都传递到我的数据上下文?
我正在编写一个用户手动提供连接字符串的应用程序,我想知道是否有任何方法可以验证连接字符串 - 我的意思是检查它是否正确以及数据库是否存在.
我很好奇SQL Server连接字符串中的令牌"Trusted_Connection"和"Integrated Security"之间有什么区别(我相信其他数据库/驱动程序不支持这些).我明白他们是等同的.