我希望在我的单元测试项目中引用我的数据库文件.这是一个ASP.NET MVC应用程序.
请注意:我知道我不应该在我的单元测试中访问数据库,但这是为了快速修复我需要通过的一个测试.
在下一个里程碑之后,我将嘲笑数据库访问方法等.
所以这是我的mvc app web config中的连接字符串和单元测试ap.config文件
<add name="DBConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DB.MDF;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,我收到一个错误:
Test method
ED.Tests.Controllers.CandidateControllerTest.PersonalDetailsStepPostShouldRedisplayIfNoSurnameSupplied
threw exception: System.Data.SqlClient.SqlException:
An attempt to attach an auto-named database for file C:\Users\Desktop\ED\TestResults\LAPTOP-D 2009-07-22 18_16_20\Out\DB.MDF failed.
A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
Run Code Online (Sandbox Code Playgroud)
在我看来,连接字符串是错误的,但我不知道如何正确设置路径.我试过添加\ ..\..和目录名等.
我有一个4/5项目的解决方案.
我目前在ac#文件中硬编码了我的域项目的连接字符串.
我想把它放在web.config或其他东西.从我在这里和其他地方阅读的内容,我应该将这些连接字符串存储在调用应用程序的Web配置中?
如果是这样,我如何访问它?
当我在我的类库中执行类似的操作时:
ConnectionStringSettingsCollection connectionStrings =
connectionStringsSection.ConnectionStrings;
Run Code Online (Sandbox Code Playgroud)
无法找到类型或命名空间,我错过了引用或其他什么?
在SQL Server Profiler中分析.Net应用程序时,默认的应用程序名称来自数据提供程序.如何将其更改为我自己的应用程序名称?
我正在编写一个使用SQL Server 2005数据库的应用程序.在连接字符串中我正在指定mdf文件,如下所示:
connstr = @"Data Source=.\SQLEXPRESS; AttachDbFilename=" + fileLocation + "; Integrated Security=True; User Instance=True";
Run Code Online (Sandbox Code Playgroud)
当我执行代码时:
public static void forceConnection()
{
try
{
conn = new SqlConnection(connstr);
conn.Open();
}
catch (Exception e)
{
MessageBox.Show(e.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
if(conn != null)
conn.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到一个例外:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)
此代码适用于XP,但不适用于Vista.我尝试在管理员模式下运行Visual Studio并将mdf文件移动到"用户数据"文件夹,但错误仍然存在.
有帮助吗?
我正在尝试使用ASP.NET MVC 3连接到我的SQL Server 2008数据库.这是我的连接字符串:
<connectionStrings>
<add name="AppConnectionString"
connectionString="Data Source=(local);Initial Catalog=DatabaseName;User Id=UserName;Password=PassWord;"
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
什么是错的?
当我尝试在DbContext中查询某些内容时,我得到以下异常:
$ exception {"提供程序未返回ProviderManifestToken字符串."} System.Exception {System.Data.ProviderIncompatibleException}
InnerException {"与SQL Server建立连接时发生与网络相关或特定于实例的错误.未找到服务器或无法访问服务器.验证实例名称是否正确以及SQL Server是否配置为允许远程连接. provider:SQL网络接口,错误:26 - 找到指定的服务器/实例时出错)"} System.Exception {System.Data.SqlClient.SqlException}
有人可以帮帮我吗?
谢谢
我正在尝试在Azure(9月工具包)中设置Staging and Live环境,我想要一个单独的Staging and Live数据库 - 使用不同的连接字符串.显然,我可以在Visual Studio中使用web.config转换来实现这一点,但是有一种方法可以在VIP交换期间自动更改连接字符串 - 以便登台站点指向暂存数据,将实时站点指向实时数据?我宁愿不必两次部署.
我尝试使用我的ASP.NET MVC 2项目运行ELMAH但是有一些问题可以让它与我的SQL Server 2008 R2数据库一起使用.
这就是我所做的.
在我的数据库中运行dbscript,不小心我运行了两次,但在这种情况下似乎并不重要.
将以下部分添加到我的web.config(下configSection):
<elmah>
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="MyEntities" />
</elmah>
Run Code Online (Sandbox Code Playgroud)这就是我的Entity Framework连接字符串的样子:
<add name="MyEntities"
connectionString="metadata=res://*/Models.Model.MyEntities.csdl|res://*/Models.Model.MyEntities.ssdl|res://*/Models.Model.MyEntities.msl;provider=System.Data.SqlClient;provider connection string="Data Source=000.000.000.000;Initial Catalog=MyDatabase;Persist Security Info=True;User ID=[username];Password=[password];MultipleActiveResultSets=True""
providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)访问admin/elmah /页面时,我收到以下异常:
不支持关键字:'元数据'.描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.ArgumentException:不支持关键字:'metadata'.
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
堆栈跟踪:
[ArgumentException:不支持关键字:'metadata'.]
System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable,String connectionString,Boolean buildChain,Hashtable synonyms definitions,Boolean firstKey)+5110868
System.Data.Common.DbConnectionOptions..ctor( String connectionString,Hashtable synonyms,Boolean useOdbcRules)+98
System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)+64
System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString,DbConnectionOptions previous)+24
System.Data.ProviderBase .DbConnectionFactory.GetConnectionPoolGroup(String connectionString,DbConnectionPoolGroupOptions poolOptions,DbConnectionOptions&userConnectionOptions)+150
System.Data.SqlClient.SqlConnection.ConnectionString_Set(String value)+59
我究竟做错了什么?
asp.net-mvc connection-string elmah web-config sql-server-2008-r2
我正在使用Entity Framework Code First 4.3 + Azure并且无法连接到数据库.我得到的错误如下(在第一个查询上):
Keyword not supported: 'server'.
Run Code Online (Sandbox Code Playgroud)
我在Web.config中设置了以下连接
<configSections>
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<connectionStrings>
<add name="TestDBContext"
connectionString="Server=tcp:[SUBSCR].database.windows.net,1433;Database=[MyDB];User ID=[user];Password=[pass];Trusted_Connection=False;Encrypt=True;PersistSecurityInfo=True"
providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我的DbContext实现类使用连接字符串的名称:
public class MyContext : DbContext, IMyContext
{
public MyContext()
: base("TestDBContext")
{
Configuration.LazyLoadingEnabled = true;
Configuration.ProxyCreationEnabled = true;
}
Run Code Online (Sandbox Code Playgroud)
你能说出发生了什么吗?
entity-framework connection-string azure code-first ef-code-first
我有一个相当直截了当的问题.我试图通过VBA(宏代码)找到一种方法来改变和更改excel工作簿中现有数据连接的连接字符串.我尝试这样做的主要原因是找到一种方法来提示打开工作簿的用户输入他们的凭据(用户名/密码)或者有一个可信连接的复选框,该复选框将在现有的连接字符串中使用数据连接.

现在,数据连接正在运行我创建的示例用户,并且需要在工作簿的生产版本中消失.希望有道理吗?
这可能吗?如果是的话,你能给我一个示例/示例代码块吗?在此,我真的很感激任何建议.
我在同一个解决方案中有多个项目.我希望他们共享相同的connectionStrings,这样我就不必在多个地方更改它.
在我的网络配置中,我有
<connectionStrings configSource="bin/connectionStrings.config" />
Run Code Online (Sandbox Code Playgroud)
然后我添加了一个文件作为我的"connectionsStrings.config"的链接,它位于解决方案级别.
我更改了属性,以便"复制到输出目录"是"始终复制"而"构建操作"是"内容"
但是我收到以下错误:
The configSource attribute must be a relative physical path, so the '/' character is not allowed.
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决这个问题,任何帮助都会很棒.
干杯
connection-string config web-config configsource visual-studio-2012
asp.net-mvc ×2
azure ×2
c# ×2
sql-server ×2
web-config ×2
ado.net ×1
asp.net ×1
code-first ×1
config ×1
configsource ×1
elmah ×1
excel ×1
excel-vba ×1
odbc ×1
unit-testing ×1
vba ×1