我有一个包含 5 个应用程序的系统。每个应用程序都通过 DAL 库访问数据库。在 DAL 中,我有一个包含以下条目的 app.config:
<connectionStrings>
<add name="DataAccessLayer.Properties.Settings.ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=c:\users\something\something\MyDB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
使用 AttachDbFilename 的完整路径效果很好。但我不高兴:
我已将 app.config 文件复制到使用数据库的每个应用程序中。执行此操作的最佳方法 - 将 DAL app.config 复制为其他项目中的链接?
当涉及到无法正常工作的部署时,我不需要完整的路径。app.config 中的相对路径似乎不起作用。理想情况下,我希望能够将 DAL 从源代码管理拉到任何计算机上,而不必担心每次更改连接字符串。这:链接讨论 |DataDirectory| 出于部署目的,但这对我来说在调试中不起作用(除非我使用错误,请参见3)
作为一个单独的问题这可能会更好,但它与 2. - 是否有一种“好的”方法来安排多个项目进行调试?我创建了一个 Bin 目录,并在每个项目设置中将 dll/exe 复制到该 bin 目录。我在这里还有数据库的副本(我在 app.config 中尝试了任何路径,但这也不起作用,|DataDirectory| 也不起作用)。同样令人难以置信的是,相对路径在“调试\工作目录”设置中也不起作用,因此看起来每次将代码检出到新机器时都必须更改这个地方?
对战争与和平表示歉意,并提前感谢您的任何想法。
我有一个用 asp.net 构建的网站,连接到 sql 2000 数据库。在我的 web.config 文件中,我有一个引用 DSN 的连接字符串。为了使我的数据库连接正常工作,我必须在字符串中包含用户名和密码。出于安全原因,有什么方法可以连接到我的数据库而不显示用户名和密码。也许是一种加密信息的方法?受信任的连接字符串方法对我不起作用。
当前方法
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
Run Code Online (Sandbox Code Playgroud)
可信方法(在我的服务器环境中不起作用)
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
Run Code Online (Sandbox Code Playgroud) 我有一个 ASP.NET MVC 应用程序,其中数据库位于 IBM i-Series 服务器上。当我开始弹出The ConnectionString property is invalid.错误时,我的应用程序开发已接近完成:
另请注意,此问题仅出现在我的解决方案中的一个项目中。另一个项目使用完全相同的连接字符串,并且不存在此问题(复制并粘贴以确保 100% 确定)。AccountController我正在积极开发这些项目,但在登录工作后没有触及连接字符串,也没有使用相关模型类。
我使用的是 Visual Studio 2008 和 .NET 版本 3.5。
连接字符串:
<connectionStrings>
<add name="IbmIConnectionString" connectionString="DataSource=192.168.50.200;DefaultCollection=QMFILES;Naming=sql;UserID=XXX;Password=XXXX;"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
账户控制器登录方法:
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
string fullName = String.Empty;
string employeeId = String.Empty;
if (ModelState.IsValid)
{
if (MembershipService.ValidateUser(model.UserName, model.Password))
{
FormsService.SignIn(model.UserName, model.RememberMe);
EmployeeLoginModel elm = new EmployeeLoginModel();
elm.GetUserInfo(model.UserName, model.Password, out fullName, out employeeId);
// Update the AuthCookie to include the last …Run Code Online (Sandbox Code Playgroud) 我正在遵循本指南:
但是使用模拟器,而不是使用实际的 Azure 帐户。
我应该在这一行中使用什么?
$storageClient = new Microsoft_WindowsAzure_Storage_Blob('blob.core.windows.net',
'Your_Storage_Account_Name',
'Your_Primary_Access_Key');
Run Code Online (Sandbox Code Playgroud) 这是我的连接字符串:
<add name="MyDb" providerName="System.Data.SqlClient" connectionString="Server=localhost;Data Source=.\MSSQLSERVER;Initial Catalog=MyDb;Integrated security=SSPI;" />
Run Code Online (Sandbox Code Playgroud)
它在我的 localhost 机器上工作得很好,但在我的服务器上,部署我的应用程序后,它不想工作,它给了我这个错误:
[SqlException (0x80131904): 与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:SQL 网络接口,错误:25 - 连接字符串无效)]
当我更改连接字符串以使用帐户凭据时 - sa,它连接得很好,所以我确切地知道这是错误的 sql server 配置问题。
所以我的问题是:我刚刚安装了 sql server 实例,我如何配置它以便它允许我的 asp.net mvc 应用程序进行 windows 身份验证?
编辑:嗯,毕竟,我再次查看了我的连接字符串,并删除了 Data Source=.\MSSQLSERVER。它有帮助,现在一切正常,谢谢你们的帮助。
sql-server asp.net asp.net-mvc connection-string windows-server-2008
我想修改连接字符串中“数据源”组件的值。我正在考虑以下解决方案:
使用这个正则表达式模式:
"data source\=((\w|\-)+?\\{1}\w+?)\;"
Run Code Online (Sandbox Code Playgroud)
我可以获得以下字符串匹配:
Match.Groups[0].Value = "data source=MY-PC\SQLEXPRESS;"
Match.Groups[1].Value = "MY-PC\SQLEXPRES"
Run Code Online (Sandbox Code Playgroud)
因此,首先在连接字符串中,我想找到与“数据源=某事;”匹配的部分,其次仅替换连接字符串中的“某事”。怎么做?
我不断收到此错误:
初始化字符串的格式不符合从索引 165 开始的规范。
我似乎找不到问题所在。
连接代码:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\LarandeModulDB.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="LarandeModulDBEntities" connectionString="metadata=res://*/Models.EntityModel.LMDBModel.csdl|res://*/Models.EntityModel.LMDBModel.ssdl|res://*/Models.EntityModel.LMDBModel.msl;provider=System.Data.SqlClient;provider connection string="data source=(LocalDB)\v11.0;attachdbfilename="|DataDirectory|\LarandeModulDB.mdf"integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我用来检索employee具有相同 ID的代码,该 ID 与登录人员的 ID 相同:
var employeeId = context.SchoolEmployee.FirstOrDefault(r => r.UserId.Equals(userId));
Run Code Online (Sandbox Code Playgroud)
该代码返回:
EntityFramework.dll 中出现类型为“System.ArgumentException”的异常,但未在用户代码中处理
附加信息:初始化字符串的格式不符合从索引 165 开始的规范。
public List<Employee> GetClassInfo1( string userId)
{
using (var context = new LarandeModulDBEntities())
{
var list = new List<Employee>();
var employeeId = context.SchoolEmployee.FirstOrDefault(r => r.UserId.Equals(userId));
var c = context.Class.Where(r => r.TeacherId.Equals(employeeId.Id)).ToList();
foreach (var i in c)
{ …Run Code Online (Sandbox Code Playgroud) 我想将连接字符串从 web.config 文件移动到名为 ConnectionStrings.config 的文件,这两个文件都位于我的 Web 应用程序的根目录中。
网页配置
<configuration>
<connectionStrings configSource="ConnectionStrings.config"/>
</configuration>
Run Code Online (Sandbox Code Playgroud)
连接字符串.Config
<configuration>
<connectionStrings>
<add name="myConnectionString" connectionString="*****" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行它时,出现以下错误
configSource 文件的格式必须是包含节名称的元素。(C:\Your Application\ConnectionStrings.config 第 2 行)
有任何想法吗?
c# connection-string web-config visual-studio-2010 visual-studio
我有一堆Excel 2013工作簿,我必须对其进行完善,每个工作簿都有多个工作表和多个数据连接,我正在寻找一种列出的快速方法:
我可以在连接对话框中看到所有这些信息,但是无法以编程方式跟踪它们。我想一次创建一个文件,所以不必担心在所有文件上运行代码,而只是在我开始处理相关文件时可以将其放入模块中。到目前为止,我已经在此站点上找到了:
Dim conn As WorkbookConnection
For Each conn In ActiveWorkbook.Connections
Debug.Print conn.Name
Next conn
Run Code Online (Sandbox Code Playgroud)
但我找不到与此相关的位置信息。任何指针将不胜感激。
干杯
凯尔
我有一个 ConnectionString,我想将值(数据源、数据库、用户 ID、密码)与 .txt 文件中的值一起传递,我需要读取它们,然后将它们传递给 connectionString,但我很困惑我该怎么做做这个。
在我的程序中,我有一个 Helper 类来返回 connectionString
public static class Helper
{
public static string ConnectionString(string name)
{
return ConfigurationManager.ConnectionStrings[name].ConnectionString;
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我调用 connectionString 的方式,以便我可以访问数据库数据
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.ConnectionString("Hotel")))
{
connection.Execute($"INSERT INTO dbo.Registos_Cancelados(Nome, Telemovel, Data) VALUES(@Nome, @Telemovel, @Data)", new { Nome = nome, Telemovel = telemovel, Data = data });
}
Run Code Online (Sandbox Code Playgroud)
我有一个包含值的文本文件
"DataSourceName"
"DataBaseName"
"User IDName"
"PasswordName"
Run Code Online (Sandbox Code Playgroud)
我希望它们在连接字符串中。
<connectionStrings>
<add name="Hotel" connectionString="DataSource="DataSourceName";Database="DatabaseName";User Id="UserIdName";Password="PasswordName""
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud) c# ×6
.net ×2
asp.net ×2
asp.net-mvc ×2
database ×2
sql ×2
azure ×1
connection ×1
excel ×1
excel-vba ×1
php ×1
regex ×1
sql-server ×1
vba ×1
web-config ×1