我正在构建一个连接到SQL Server 2005的应用程序.它目前使用Windows身份验证,但我想切换到SQL身份验证(我相信它有时也称为混合身份验证).我当前的连接字符串是:
"Data Source=LOCALHOST;Initial Catalog={0};Integrated Security=SSPI"
Run Code Online (Sandbox Code Playgroud)
这是针对Windows身份验证的,但对于SQL,我在想:
"Data Source=LOCALHOST;Initial Catalog={0};user id={1};password={2}"
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?该代码假定:
我正在切换到SQL身份验证,因为我正在考虑连接到远程服务器上的SQL Server实例 - SQL身份验证是正确的方法吗?我只需要输入"LOCALHOST"当前的IP吗?
谢谢!
更新:谢谢你们所有的好答案,伙计们!所有这些都很精彩,非常有帮助,我甚至无法决定哪一个给予"接受的答案",但我已经投了所有这些因为他们摇滚.再次感谢!
c# sql-server authentication connection-string sql-server-2005
如果我有几个页面,那么创建连接字符串变量并在我的所有页面之间共享它是正确的过程.我宁愿不为每个页面键入连接字符串100次,而只是调用它.我可以在我的命名空间中创建它还是最好的方法?
我们可以在Web.config文件中存储的连接字符串有两种方式
一种是
<connectionStrings>
<clear/>
<add name="LocalSqlServer"
connectionString="Data Source=(local);Initial Catalog=aspnetdb;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
另一个是
<appSettings>
<add key="ConnectionString"
value="server=localhost;database=Northwind;uid=sa;password=secret;" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
现在我想知道
这两种方法有什么区别?
哪一个更好的方法?
它们的局限是什么?
更新:你能解释一下<connectionString>有什么重大优势 <appSetting>吗?
如何设置链接服务器MVC3 Web.Config?
我们有一个链接服务器,它有一个SP_PROC我们需要运行的存储过程.但是,主SQL服务器TESTSERVER1和链接服务器都是在测试环境中设置的TESTSERVER2,因此名称/ ip将在应用程序上线后更改.因此,我不想SP在代码中指定任何名称以外的内容.
我已经尝试在连接字符串的初始目录字段中指定链接服务器,但是这会抛出错误 - 所以我假设我正在咆哮错误的树.
连接字符串示例:
<add name="connectionName" connectionString="data source=TESTSERVER1;Initial Catalog=TESTSERVER2;user id.../>
Run Code Online (Sandbox Code Playgroud) 我在服务器中部署了一个网站.有一天它抛出一个错误,说connection string已经添加了名称.我检查了web.config文件,它只有一个名称.我从配置中删除了该条目.现在该网站运行良好,从数据库中获取数据.
注意:当我更改配置文件的名称时,它显示错误.
我认为,问题是 - connectionstring部分缓存在内存中.是这样吗?我们如何克服这种不受欢迎的行为?
在源代码中配置文件
发布配置
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
调试配置
<system.web>
</system.web>
Run Code Online (Sandbox Code Playgroud)
参考文献:
我需要按照MongoDB参考中的建议设置分片副本集,以实现高可用性和可伸缩性.在这种情况下,我对C#驱动程序的连接字符串及其行为几乎没有疑问(下面的代码片段):
下面的连接字符串是否适合连接到mongos实例:mongos1,mongos2和mongos3?
如果其中一个mongos实例崩溃,客户端会发生什么?通过重试第二个mongos实例来优雅地处理失败的呼叫吗?客户端是否将失败的mongos实例列入黑名单并在某个时间后尝试?
如果我想设置readpreference,驱动程序是否会知道副本集的存在和荣誉设置ReadPreference?
代码段:
MongoUrlBuilder bldr = new MongoUrlBuilder();
List<MongoServerAddress> servers = new List<MongoServerAddress>();
servers.Add(new MongoServerAddress("mongos1:27016"));
servers.Add(new MongoServerAddress("mongos2:27016"));
servers.Add(new MongoServerAddress("mongos3:27016"));
bldr.Username = "myuser";
bldr.Password = "mypwd";
bldr.Servers = servers;
bldr.DatabaseName = "mydb";
bldr.ReadPreference = ReadPreference.Primary;
var server = MongoServer.Create(bldr.ToMongoUrl());
Run Code Online (Sandbox Code Playgroud) 当我想配置我的数据源(EntityDataSource1)并分配由实体数据模型自动生成的connectionString时.我收到错误:
"无法加载连接字符串中指定的元数据.请考虑重建Web项目以构建可能包含元数据的程序集.发生以下错误:提供程序未返回ProviderManifest实例".
我读了很多像http://blogs.teamb.com/craigstuntz/2010/08/13/38628/这样的建议. 他们都建议用连接字符串中的assembly-name替换*.例如 :
<connectionStrings>
<add name="MyEntities" connectionString="metadata=
res://*/Model.csdl|
res://*/Model.ssdl|
res://*/Model.msl;provider= <!-- ... -->
Run Code Online (Sandbox Code Playgroud)
用...来代替
<connectionStrings>
<add name="MyEntities" connectionString="metadata=
res://Simple Mvc.Data.dll/Model.csdl|
res://Simple Mvc.Data.dll/Model.ssdl|
res://Simple Mvc.Data.dll/Model.msl;provider= <!-- ... -->
Run Code Online (Sandbox Code Playgroud)
我的问题是.我在哪里可以找到组装名称?我也安装了.Net Reflector,但我找不到实体数据模型的正确程序集名称.
c# entity-framework connection-string entitydatasource entity-framework-6
我需要在_Layout.cshtml中打印来自Web.config的连接字符串,任何想法如何?
Web.config文件:
<connectionStrings>
<add name="DConnectionString" connectionString="EnvName" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
_Layout.cshtml:
<a class="navbar-brand" href="/"> [Print EnvName here] </a>
Run Code Online (Sandbox Code Playgroud)
谢谢!
我的代码有错误----'Unicode'是一个无效的连接字符串属性
Web配置:
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=XE;Persist Security Info=True;User ID=****;Password=****;Unicode=True"
providerName="System.Data.OracleClient" /> </connectionStrings>
Run Code Online (Sandbox Code Playgroud)
Asp.net:
public DataTable Bankomat(DataTable dt)
{
using (con = new OracleConnection())
{
using (cmd = new OracleCommand())
{
con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ToString();
cmd.Connection = con;
cmd.CommandText = "select * from bankomat";
con.Open();
dt.Load(cmd.ExecuteReader());
con.Close();
}
}
return dt;
}
Run Code Online (Sandbox Code Playgroud) 一个棘手的(令人沮丧的问题) - 也许你们大家可能很聪明地解决它:
问题
我希望能够使用Entity Frameworks读取/写入我的数据库.我有一个在Heroku(简单的脚手架)上运行的简单app rails.我想连接到这个数据库并操纵记录.好消息是我可以使用npgsql成功连接到该数据库.坏消息是我不能用实体框架来做.这是我收到的错误:
System.Data.Entity.Core.ProviderIncompatibleException:从数据库获取提供程序信息时发生错误.这可能是由实体框架使用不正确的连接字符串引起的.检查内部异常以获取详细信息,并确保连接字符串正确.---> System.Data.Entity.Core.ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串.---> System.IO.FileLoadException:无法加载文件或程序集'Npgsql,Version = 3.1.2.0,Culture = neutral,PublicKeyToken = 5d8b90d52f46fda7'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)
这是堆栈跟踪:
at Npgsql.NpgsqlServices.GetDbProviderManifestToken(DbConnection connection)
at System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)
--- End of inner exception stack trace ---
at System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)
at System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection)
--- End of inner exception stack trace ---
at System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection)
at System.Data.Entity.Infrastructure.DefaultManifestTokenResolver.<>c__DisplayClass1.<ResolveManifestToken>b__0(Tuple`3 k)
at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
at System.Data.Entity.Infrastructure.DefaultManifestTokenResolver.ResolveManifestToken(DbConnection connection)
at System.Data.Entity.Utilities.DbConnectionExtensions.GetProviderInfo(DbConnection connection, DbProviderManifest& providerManifest)
at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection)
at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)
at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input)
at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
at …Run Code Online (Sandbox Code Playgroud) c# ×7
asp.net ×3
sql ×2
appsettings ×1
asp.net-mvc ×1
config ×1
heroku ×1
mongodb ×1
npgsql ×1
oracle ×1
razor ×1
replication ×1
sharding ×1
sql-server ×1
unicode ×1
web-config ×1