是否有一个实用程序将以与文件一样的方式加密文件中的命名配置部分(或仅connectionStrings部分)?app.configaspnet_regiisweb.config
我知道这可以在代码中完成 - 那里有代码示例,但我希望避免为此编写应用程序.
我正在使用Visual Studio 2017 for mac与dotnet Core和EF Core.在Docker容器中设置mssql映像后,我试图添加连接字符串但抛出连接错误.我尝试使用不同的选项,如IP地址,容器名称,主机名等作为服务器名称,但没有一个工作.
"Default": "Server=172.17.0.2; Database=ERPDb; User=sa; Password =******;"
Run Code Online (Sandbox Code Playgroud)
用容器名称
"Default": "Server=ecstatic_hermann; Database=ERPDb; User=sa; Password=******;"
Run Code Online (Sandbox Code Playgroud)
主机名:
"Default": "Server=f45840a59623; Database=ERPDb; User=sa; Password=******;"
Run Code Online (Sandbox Code Playgroud)
通过在终端中使用localhost连接成功连接
$ mssql -s localhost -p Technocrat123
Connecting to localhost...done
sql-cli version 0.6.2
Enter ".help" for usage hints.
Run Code Online (Sandbox Code Playgroud)
但是在运行应用程序时,连接失败.
感谢任何帮助.提前致谢.
如果使用localhost则错误是
Login failed for user ''. Reason: An attempt to login using SQL authentication failed. Server is configured for Integrated authentication only.
Run Code Online (Sandbox Code Playgroud) Visual Studio基于一种方法为我创建了一个单元测试项目(右键单击添加测试).当我尝试访问数据库时,我得到一个例外.抛出此代码以查看我的连接是什么:
ConnectionStringSettings connStringSettings = ConfigurationManager.
ConnectionStrings["myConnectionString"];
Run Code Online (Sandbox Code Playgroud)
但是,connStringSettings是空的.经过检查,ConnectionStrings集合只有一个.它似乎不是从我的web.config读取.
我的DAL是隔离的,不能通过代码设置其连接字符串.它的连接字符串在代码中设置如下:
set
{
value = System.Configuration.ConfigurationManager.
ConnectionStrings["myConnectionString"].ConnectionString;
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
c# integration-testing connection-string web-config visual-studio-2010
我有一个扩展方法在DbContext我想要做的地方SqlBulkCopy.因此我需要一个SqlConnection.来自DbContext的连接来自类型DbConnection.在其他一些事情我试过这个:
var connection = new SqlConnection( dbContext.Database.Connection.ConnectionString);
Run Code Online (Sandbox Code Playgroud)
问题是密码丢失(可能出于安全原因).
我尝试的另一件事是向上转换:
var bulk_copy = new SqlBulkCopy( (SqlConnection)dbContext.Database.Connection );
Run Code Online (Sandbox Code Playgroud)
这实际上假设DbConnection是一个SqlConnection.在这个非常具体的案例中,它已经出错了.我正在使用MVC MiniProfiler将连接包装成一个EFProfiledDbConnection.EFProfiledDbConnection不从SqlConnection继承.
还有其他想法吗?提前致谢!
我尝试将表单EF 3.5迁移到6(使用SQLite作为数据库).我们无法在app配置文件中设置连接字符串(这对ef6没有问题).我们必须在运行时以编程方式设置连接字符串(在用户选择SQLite文件之后).
这是我们的app.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="testContext" connectionString="data source=Data\testdb.sqlite;Foreign Keys=True"
providerName="System.Data.SQLite" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite" />
<remove invariant="System.Data.SQLite.EF6" />
<add name="System.Data.SQLite" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
</DbProviderFactories> …Run Code Online (Sandbox Code Playgroud) 我在web.config文件中有一个连接字符串.我必须从中获取数据库名称.让我说连接刺痛是
<add name="LocalSqlServer" connectionString="Data Source=XYZ;Initial Catalog=MyDataBase;Integrated Security=true" providerName="System.Data.SqlClient"/>
Run Code Online (Sandbox Code Playgroud)
我想从连接字符串中获取数据库名称[即初始目录].
我怎么才能得到它?
当我使用默认连接字符串(从中读取app.config)创建上下文时,将创建数据库并且迁移工作 - 基本上所有内容都是有序的.而以编程方式(使用SqlConnectionStringBuilder)创建连接字符串时:
A);CreateDbIfNotExists()创建最新版本的数据库模型,但不调用迁移机制(方案B).在A我希望访问数据库时抛出异常,因为 - 显然 - 它不在那里.在B数据库中创建正确的迁移机制不会被调用,就像标准连接字符串中的情况一样.
app.config:" Data Source=localhost\\SQLEXPRESS;Initial Catalog=Db13;User ID=xxx;Password=xxx"
建设者:
sqlBuilder.DataSource = x.DbHost;
sqlBuilder.InitialCatalog = x.DbName;
sqlBuilder.UserID = x.DbUser;
sqlBuilder.Password = x.DbPassword;
Run Code Online (Sandbox Code Playgroud)
初始化程序:
Database.SetInitializer(
new MigrateDatabaseToLatestVersion<
MyContext,
Migrations.Configuration
>()
);
Run Code Online (Sandbox Code Playgroud)
规范:实体框架:5.0,DB:SQL Server Express 2008
entity-framework connection-string ef-code-first ef-migrations
我们最近切换到Entity Framework数据迁移,我正在为我们的MVC应用程序开发一些构建自动化脚本.如果我有一个指向它的Web.config,我可以使用4.3中的migrate.exe工具从我们的构建服务器成功运行迁移.该命令看起来像:
ProjectName\packages\EntityFramework.4.3.1\tools\migrate.exe MyAssembly
/startupdirectory:ProjectName\bin\Debug
/startupconfigurationfile:ProjectName\Web.config
/verbose
Run Code Online (Sandbox Code Playgroud)
但是,出于各种原因,我想避免使用Web.config并在迁移时传递正确的连接字符串:
ProjectName\packages\EntityFramework.4.3.1\tools\migrate.exe MyAssembly
/startupdirectory:ProjectName\bin\Debug
/connectionString:"Data Source=awesomeserver;Initial Catalog=awesomedatabase;User Id=funkyuser;Password=crazypassword"
/verbose
Run Code Online (Sandbox Code Playgroud)
这不起作用.更糟糕的是,它使用NullReferenceException崩溃migrate.exe.连接字符串与我们在Web.config中使用的字符串相同.
以前遇到过这个人吗?我的连接字符串格式错了吗?错误?
我在web.config中存储了几个不同的连接字符串,用于开发和测试.除了一个之外的所有内容都已注释掉,因此我可以根据需要更改信息
当我发布时,我想用connection:替换connectionStrings节点中的所有内容(包括注释):
<add name="myDb" connectionString="Data Source={SERVER};Initial Catalog=ManEx;User Id={USER};Password={PASSWORD};" providerName="System.Data.SqlClient" />
<!--<add name="myDb" connectionString="Data Source={SERVER};Initial Catalog=ManEx;Integrated Security=True" providerName="System.Data.SqlClient" />-->
Run Code Online (Sandbox Code Playgroud)
我知道如何用这个改变活动字符串:
<add name="myDb"
connectionString="Data Source={SERVER};Initial Catalog=ManEx;User Id={USER};Password={PASSWORD};"
providerName="System.Data.SqlClient"
xdt:Transform="Add"
xdt:Locator="Match(name)"/>
Run Code Online (Sandbox Code Playgroud)
但我不知道如何清除我不想要的评论,并添加我想要的评论.
有任何想法吗?
c# asp.net connection-string visual-studio web-config-transform
我在linux机器上有一个正在运行的PostgreSql本地实例.当我使用psqlshell中的命令时,我成功登录而没有任何问题.我需要通过JDBC连接到PostgreSql,但我不知道究竟应该将什么作为url参数传递给DriverManager.getConnection().
它应该从jdbc:postgresql:但接下来会发生什么?
系统组告诉我,创建了一个像用户名一样的数据库.例如,如果我的用户是jutky一个名为db的jutky创建者,但是当我尝试打开一个连接时,jdbc:postgresql:jutky我收到一个错误
org.postgresql.util.PSQLException: FATAL: password authentication failed for user "jutky"
:(
附加信息
当我通过psql提示登录时,我没有提示输入密码,所以当我尝试通过JDBC登录时,我传递一个空字符串作为密码 - 它是正确的,还是我应该通过null什么?
当我输入psql --helpshell时,我看到其余的这一行:
Connection options:
-h, --host=HOSTNAME database server host or socket directory (default: "/var/run/postgresql")
Run Code Online (Sandbox Code Playgroud)
所以我理解我通过a连接到PostgreSql socket directory,这对JDBC中的URL字符串有用吗?
编辑
首先要感谢答案.
第二:它不是我第一次使用JDBC,特别是我第一次从JDBC连接到PostgreSql,所以我知道一般规则,我已经阅读了文档.但是在描述的情况下,我不确定如果实例正在运行socket directory并且我应该提供什么密码,我应该如何构造连接字符串.因为当我通过登录时,psql我根本没有提示输入密码.
提前致谢.
.net ×3
c# ×3
app-config ×1
asp.net ×1
docker ×1
encryption ×1
find ×1
java ×1
jdbc ×1
macos ×1
postgresql ×1
runtime ×1
sql ×1
sqlite ×1
web-config ×1