标签: connection-string

在多个项目中使用 SQL 数据库

我有一个包含 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 的完整路径效果很好。但我不高兴:

  1. 我已将 app.config 文件复制到使用数据库的每个应用程序中。执行此操作的最佳方法 - 将 DAL app.config 复制为其他项目中的链接?

  2. 当涉及到无法正常工作的部署时,我不需要完整的路径。app.config 中的相对路径似乎不起作用。理想情况下,我希望能够将 DAL 从源代码管理拉到任何计算机上,而不必担心每次更改连接字符串。这:链接讨论 |DataDirectory| 出于部署目的,但这对我来说在调试中不起作用(除非我使用错误,请参见3)

  3. 作为一个单独的问题这可能会更好,但它与 2. - 是否有一种“好的”方法来安排多个项目进行调试?我创建了一个 Bin 目录,并在每个项目设置中将 dll/exe 复制到该 bin 目录。我在这里还有数据库的副本(我在 app.config 中尝试了任何路径,但这也不起作用,|DataDirectory| 也不起作用)。同样令人难以置信的是,相对路径在“调试\工作目录”设置中也不起作用,因此看起来每次将代码检出到新机器时都必须更改这个地方?

对战争与和平表示歉意,并提前感谢您的任何想法。

c# sql database connection-string

3
推荐指数
1
解决办法
1874
查看次数

没有用户名和密码的连接字符串,asp.net

我有一个用 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)

sql asp.net connection-string sql-server-2000

3
推荐指数
1
解决办法
2万
查看次数

“ConnectionString 属性无效。” 当我知道它是有效的时

我有一个 ASP.NET MVC 应用程序,其中数据库位于 IBM i-Series 服务器上。当我开始弹出The ConnectionString property is invalid.错误时,我的应用程序开发已接近完成:

  1. 仅在登录时
  2. 重建后第一次成功登录后
  3. 任何登录的人仍然可以正常工作

另请注意,此问题仅出现在我的解决方案中的一个项目中。另一个项目使用完全相同的连接字符串,并且不存在此问题(复制并粘贴以确保 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)

.net c# asp.net-mvc connection-string

3
推荐指数
1
解决办法
1万
查看次数

Azure:使用存储模拟器时的帐户名和访问密钥是什么?

我正在遵循本指南:

http://blogs.msdn.com/b/brian_swan/archive/2010/07/08/accessing-windows-azure-blob-storage-from-php.aspx

但是使用模拟器,而不是使用实际的 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)

php connection-string azure azure-storage-blobs

3
推荐指数
1
解决办法
2282
查看次数

如何配置 SQL Server 以使用 Windows 身份验证与 ASP.NET MVC 一起使用?

这是我的连接字符串:

<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

3
推荐指数
1
解决办法
4509
查看次数

如何用正则表达式替换匹配的组值

我想修改连接字符串中“数据源”组件的值。我正在考虑以下解决方案:

使用这个正则表达式模式:

"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)

因此,首先在连接字符串中,我想找到与“数据源=某事;”匹配的部分,其次仅替换连接字符串中的“某事”。怎么做?

.net c# regex connection-string

3
推荐指数
1
解决办法
8058
查看次数

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

我不断收到此错误:

初始化字符串的格式不符合从索引 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=&quot;data source=(LocalDB)\v11.0;attachdbfilename=&quot;|DataDirectory|\LarandeModulDB.mdf&quot;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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)

c# database entity-framework connection-string

3
推荐指数
1
解决办法
7280
查看次数

在单独的配置文件中引用连接字符串

我想将连接字符串从 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

3
推荐指数
1
解决办法
2939
查看次数

查找使用连接的位置Excel VBA

我有一堆Excel 2013工作簿,我必须对其进行完善,每个工作簿都有多个工作表和多个数据连接,我正在寻找一种列出的快速方法:

  • 连接名称
  • 连接字符串
  • 使用连接的位置(工作表名称或范围会很有用)

我可以在连接对话框中看到所有这些信息,但是无法以编程方式跟踪它们。我想一次创建一个文件,所以不必担心在所有文件上运行代码,而只是在我开始处理相关文件时可以将其放入模块中。到目前为止,我已经在此站点上找到了:

Dim conn As WorkbookConnection
For Each conn In ActiveWorkbook.Connections
Debug.Print conn.Name
Next conn
Run Code Online (Sandbox Code Playgroud)

但我找不到与此相关的位置信息。任何指针将不胜感激。

干杯

凯尔

connection excel vba connection-string excel-vba

3
推荐指数
1
解决办法
2488
查看次数

如何传递带有变量的 ConnectionString 参数?

我有一个 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# connection-string

3
推荐指数
1
解决办法
71
查看次数