我一直在做网络应用程序,现在我需要做一个控制台应用程序.我需要同时使用odbc连接和常规连接.
在过去我会用过:
<add name="LinkConnectionString" connectionString="Data Source=SERENITY\SQLEXPRESS;Initial Catalog=Link;Integrated Security=True" providerName="System.Data.SqlClient"/>
Run Code Online (Sandbox Code Playgroud)
在web.config中,但我不知道如何使用内联代码执行相同的操作.就像string connectionString = @".....";
我尝试了多种组合,在线查看(包括connectionstrings.com),但都没有.
谁能帮我吗?我想要odbc和常规...因为他们看起来不同应该根据在线样本(不起作用)不同.
在我的winforms应用程序中,我在本地级别散列连接字符串.
但这里有几个问题.
我的应用程序解密连接字符串后,连接字符串信息以明文形式发送?既然我的应用程序是在本地安装的,那么中间人可能是任何用户?
我如何保护连接字符串,因为"强制加密"选项需要额外的证书?
我有一个分布式事务上下文使用ServiceDomain.在其中,我打开一个带有连接字符串指定的SQL连接Enlist=false,这样它就不会自动登记在事务中.然后,如果我在分布式事务中手动登记连接EnlistDistributedTransaction,则连接不会关闭,这可以以以下结尾InvalidOperationException:
超时已过期.从池中获取连接之前经过的超时时间.这可能是因为所有池连接都在使用中并且达到了最大池大小.
请尝试以下方法:
try
{
var configuration = new ServiceConfig
{
Transaction = TransactionOption.Required,
TransactionTimeout = 1000
};
ServiceDomain.Enter(configuration);
for (var i = 0; i < 500; ++i)
{
Console.WriteLine(i);
using (var conn = new SqlConnection("Data Source=localhost;Initial Catalog=dotest;Integrated Security=SSPI;Enlist=False;"))
{
conn.Open();
if (i % 2 == 0) conn.EnlistDistributedTransaction((ITransaction) ContextUtil.Transaction);
using (var cmd = conn.CreateCommand())
{
cmd.CommandText = "INSERT INTO [Test]([ID]) VALUES(@num)";
cmd.Parameters.AddWithValue("@num", i);
cmd.ExecuteNonQuery();
}
}
}
ContextUtil.SetAbort();
}
finally …Run Code Online (Sandbox Code Playgroud) .net sql-server connection-string sqlconnection distributed-transactions
例外细节:
System.Data.SqlClient.SqlException:无法打开登录请求数据库"RealtyDB"登录失败.账号'FAFHN24BNK43\JKAD754'登录失败.
我的连接字符串如下所示:
add name = "ApplicationServices"
connectionString="data source=.\SQLEXPRESS;User Instance=True;Initial Catalog=RealtyDB;Integrated Security=SSPI;"
providerName="System.Data.SqlClient"
Run Code Online (Sandbox Code Playgroud)
如果我删除了[User Instance=True;],我的申请将没事.
有人知道为什么吗?
我试图在我的web.config文件中使用这一行来使用相对路径而不是硬编码路径,但似乎没有任何工作.我只能找到SQL和mySQL DB的东西
<connectionStrings>
<add name="dbConnection" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Mike\Desktop\GeauxEat NEW\GeauxEat\App_Data\GeauxEatAccessDB.accdb"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我试过去做
<add name="dbConnection" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|Data Directory|\GeauxEatAccessDB.accdb"/>
Run Code Online (Sandbox Code Playgroud)
但后来它在这个文件夹中找不到它的东西.
"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\DevServer\\10.0"
Run Code Online (Sandbox Code Playgroud)
有没有办法让它相对?它位于项目文件的AppData文件夹中
我在我的web.config中有这个
<add name="AS400" connectionString="Provider=IBMDA400;Data Source=AAAAA;User Id=aaaaaa;Password=aaaaaa;Default Collection=*SYS;" providerName="System.Data.OleDb" lockItem="true"/>
Run Code Online (Sandbox Code Playgroud)
在我的Web.Debug.config(与Webconfig相同)
<add name="AS400" connectionString="Provider=IBMDA400;Data Source=AAAAA;User Id=aaaaaa;Password=aaaaaa;Default Collection=*SYS;" providerName="System.Data.OleDb" lockItem="true" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
Run Code Online (Sandbox Code Playgroud)
在我的Web.Release.config中
<add name="AS400" connectionString="Provider=IBMDA400;Data Source=ZZZZZ;User Id=aaaaaa;Password=aaaaaa;Default Collection=*SYS;" providerName="System.Data.OleDb" lockItem="true" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
Run Code Online (Sandbox Code Playgroud)
但没有任何效果.如果我制作F5,在发布模式下,我总是在web.config中连接字符串.
一个主意?
通过不同的API,我使用相同的参数到达相同的代码
public void Foo(string nprPath, int maxConnections = 3)
{
var connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + nprPath;
using (var connectionPool = new ConnectionPool(maxConnections, connectionString))
{
....
}
}
Run Code Online (Sandbox Code Playgroud)
我带着确切的参数输入了mefhod.一个API成功,另一个API抛出以下内容
{"The ITransactionLocal interface is not supported by the 'Microsoft.ACE.OLEDB.12.0'
provider.Local transactions are unavailable with the current provider."}
Run Code Online (Sandbox Code Playgroud)
是否有使用ACE.OLEDB.12的先决条件
目前我在我的C#代码中手动定义我的连接字符串:
string ConnectionString = "Data Source=C;Initial Catalog=tickets;Integrated Security=True";
SqlConnection Conn = new SqlConnection(ConnectionString);
Conn.Open();
Run Code Online (Sandbox Code Playgroud)
在我的项目中,我有一个app.config文件,我可以看到它有一个连接字符串.它看起来像这样:
<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="ticketNotification.Properties.Settings.ticketsConnectionString"
connectionString="Data Source=C;Initial Catalog=tickets;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
Run Code Online (Sandbox Code Playgroud)
如何根据与我的应用程序相同的文件夹中的app.config文件定义连接字符串?
我有MVC应用程序在本地运行良好.更新到Azure后,它开始抛出错误:
在Code First模式中使用上下文,其中包含从EDMX文件生成的用于Database First或Model First开发的代码.这将无法正常工作.要解决此问题,请不要删除引发此异常的代码行.如果您希望使用Database First或Model First,请确保Entity Framework连接字符串包含在启动项目的app.config或web.config中.
我检查了本地web.config和azure web.config之间是否有任何区别.除了凭证,一切都是一样的.它读到:
<add name="DBEntities"
connectionString="metadata=res://*/DBModel.csdl|res://*/DBModel.ssdl|res://*/DBModel.msl;
provider=System.Data.SqlClient;
provider connection string="data source=xx;initial catalog=xx;persist security info=True;user id=xx;password=xx;MultipleActiveResultSets=True;application name=EntityFramework""
providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
我使用的是EF 6.1.3,MVC5
这是我的appsettings.json文件
{
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Port=5432;Database=db;User ID=postgres;Password=root"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我检索连接字符串的方式:
// Only works when run through visual studio not on vs code
Configuration.GetConnectionString("DefaultConnection")
Run Code Online (Sandbox Code Playgroud)
我的launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (web)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceRoot}\\src\\Chlx\\bin\\Debug\\netcoreapp1.0\\Chlx.dll",
"args": [],
"cwd": "${workspaceRoot}",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart",
"launchBrowser": {
"enabled": true,
"args": "${auto-detect-url}",
"windows": {
"command": "cmd.exe",
"args": "/C …Run Code Online (Sandbox Code Playgroud) connection-string npgsql visual-studio-2015 visual-studio-code asp.net-core
c# ×4
sql-server ×4
.net ×2
winforms ×2
ado.net ×1
app-config ×1
asp.net ×1
asp.net-core ×1
azure ×1
c ×1
connection ×1
database ×1
debugging ×1
ms-access ×1
ms-office ×1
npgsql ×1
release ×1
sql ×1
web-config ×1