我最近不得不安装SQL Server并将数据库恢复到2台笔记本电脑,第一次花了我几天时间弄明白,第二次我还在苦苦挣扎.
我两个都在这里得到这个错误:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)
我仍然在第二次得到它.
我做了很多研究,并遵循StackOverflow和其他网站上列出的所有步骤,例如确保SQL Server运行TCP和命名管道,确保SQL Server允许远程连接,以及我能找到的所有其他故障排除步骤.
最后我发现我只是在第一台笔记本电脑上输入错误的连接字符串.(localdb)\MSSQLSERVER2012正如它在许多网站上所做的那样,我试图使用(或类似的东西).它在我使用时开始工作.\MSSQLSERVER2012.我以为他们都指向同一个地方,但显然不是.
我真的想再次避免这个问题,并弄清楚如何设置我的第二台笔记本电脑.我怎么知道我是否应该使用.\SQLSERVER2012,(local)\SQLSERVER2012,(localdb)\SQLSERVER2012等?有没有一种简单的方法可以使用命令行工具找到它SqlLocalDb?这首先是如何设置的?
database connection-string sql-server-2008 sql-server-2008-r2 sql-server-2012
我已经在网上看了一会儿,发现了许多类似的问题,但由于某种原因,我似乎无法让这个工作.
我只是想连接到SQL服务器数据库并将查询结果输出到文件 - 请参阅下面的PowerShell脚本.我不确定的是如何将用户ID和密码集成到连接字符串中.
$SQLServer = "aaaa.database.windows.net"
$SQLDBName = "Database"
$uid ="john"
$pwd = "pwd123"
$SqlQuery = "SELECT * from table;"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True; User ID = $uid; Password = $pwd;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$DataSet.Tables[0] | out-file "C:\Scripts\xxxx.csv"
Run Code Online (Sandbox Code Playgroud)
收到以下错误消息:
使用"1"参数调用"Fill"的异常:"此版本的SQL Server不支持Windows登录."
我对此持续了2天的努力,而没有更接近解决方案.我已阅读20-30个线程的alteast和stil无法解决此问题.
请帮帮我.
我已禁用匿名身份验证,启用asp.net模拟.
我已经添加了 <identity impersonate = "true" />
我已将用户添加到连接到我尝试连接的数据库的安全登录
这是我使用的连接字符串:
Data Source=IPTOSERVER;Initial Catalog=Phaeton;User Id=User;Password=Password;
Run Code Online (Sandbox Code Playgroud)
错误信息:
无法打开登录请求的数据库"Phaeton.mdf".登录失败.
用户'NT AUTHORITY\NETWORK SERVICE'登录失败.
我们有一个自定义函数AppSettings.GetConnectionString(),它总是被调用来确定应该使用的连接字符串.这个功能如何工作对讨论来说并不重要.它足以说它返回一个连接字符串,我必须使用它.
我希望我的LINQ to SQL DataContext使用这个,所以我从dbml文件中删除了所有连接字符串信息并创建了一个带有默认构造函数的分部类,如下所示:
public partial class SampleDataContext
{
public SampleDataContext() : base(AppSettings.GetConnectionString()) { }
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,直到我使用设计器将表拖放到图表中.将表拖入图表的行为将执行以下几项不必要的操作:
所有这一切都在我保存文件之前完成!
当我保存图表时,将重新创建设计器文件,它将包含自己的默认构造函数,该构造函数使用错误的连接字符串.当然这意味着我的DataContext现在有两个默认构造函数,我不能再构建了!
我可以撤消所有这些坏事,但这很烦人.我必须在每次更改后手动删除连接字符串和新文件!
无论如何我可以阻止设计师在不问的情况下做出这些改变吗?
使用这种AppSettings.GetConnectionString()方法的要求在游戏的后期很晚.我曾经使用过类似于它为我生成的东西.有很多地方调用默认构造函数.我知道我应该将它们全部更改为以另一种方式创建数据上下文(使用不同的构造函数,静态方法,工厂等).这种变化只会有点烦人,因为它只需要做一次.但是,我觉得,它正在回避真正的问题.dbml文件和配置文件仍然包含一个不正确的(如果未使用的)连接字符串,这最多可能会使其他开发人员感到困惑.
*.gitignore在为一个更大的团队工作时,我尝试了几种管理连接字符串的方法.
从gitignore的官方.gitignore文件库中,我下载了VisualStudio.gitignore,并将其作为所有项目的起点.
访问http://gitignore.io/,键入VisualStudio,然后下载文件即可完成相同的过程.

我目前使用的方法是利用SectionInformation.ConfigSource属性
<connectionStrings configSource="myConnectionStrings.config" />
Run Code Online (Sandbox Code Playgroud)
然后加入myConnectionStrings.config到.gitignore,因为它不添加整个这是很好的*.config.
您也可以在另一个项目(MyProject.Data层)中使用相同的myConnectionStrings.config
<configuration>
<connectionStrings configSource="myConnectionStrings.config"/>
</configuration>
Run Code Online (Sandbox Code Playgroud)
只记得永远设置复制!

此外,我尝试使用Git中描述的过滤器 - 忽略对配置文件的特定修改,但我发现这是一个过度杀伤力.
我想知道是否有其他方法被认为是最佳做法?
在与数据库建立本地编程连接时,我已经使用了所有这三个.它们之间有什么真正的区别吗?
我在Visual Studio 2015中创建了一个新的ASP.NET Core Web应用程序.我还设置了一个Azure Web应用程序,以便从GitHub中提取应用程序并运行它.这工作正常,但我无法连接到Azure上的数据库.
在本地,这是有效的,它使用config.json和代码Data:DefaultConnection:ConnectionString连接字符串.
如何保留代码,并使其在Azure中运行?我尝试在门户中设置应用程序设置,包括连接字符串和应用程序设置.并使用"SQLCONNSTR_DefaultConnection"和"Data:DefaultConnection:ConnectionString"作为键.
(设置应用程序设置似乎不起作用.我认为我提供的值太长).
那么如何在我的Azure Web应用程序(ASP.NET 5)中提供Azure数据库的连接字符串,而不在源代码管理中检入它?
Update My Startup.cs看起来像这样(参见GitHub上的完整文件):
public Startup(IHostingEnvironment env)
{
var configuration = new Configuration()
.AddJsonFile("config.json")
.AddJsonFile($"config.{env.EnvironmentName}.json", optional: true);
if (env.IsEnvironment("Development"))
{
configuration.AddUserSecrets();
}
configuration.AddEnvironmentVariables();
Configuration = configuration;
}
Run Code Online (Sandbox Code Playgroud)
在该ConfigureServices方法中,还有:
services.Configure<AppSettings>(Configuration.GetSubKey("AppSettings"));
Run Code Online (Sandbox Code Playgroud)
而且,在ConfigureServices方法中:
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]))
.AddDbContext<InvoicesDbContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
// So this is where I want my app in Azure to use the connection string I
// provide in the …Run Code Online (Sandbox Code Playgroud) 我正在使用SQLalchemy作为Python项目,我希望有一个整洁的连接字符串来访问我的数据库.例如:
engine = create_engine('postgres://user:pass@host/database')
Run Code Online (Sandbox Code Playgroud)
问题是我的密码包含一系列特殊字符,在我尝试连接时会被解释为分隔符.
我意识到我可以创建一个对象然后传递我的凭据,如下所示:
drivername = 'postgres',
username = 'user',
password = 'pass',
host = 'host',
database = 'database'
Run Code Online (Sandbox Code Playgroud)
但是如果可能的话,我宁愿使用连接字符串.
所以要清楚,是否可以编码我的连接字符串或连接字符串的密码部分 - 以便可以正确解析它?
我使用log4Net作为系统的日志.如果appender类型是Log4Net中的AdoNetAppender,则connectionString节点是必需的.但是,我在我的网站上已经有一个使用Log4Net的connectionString.
如何在log4net配置文件中使用log4Net网站的connStr而不是再次配置相同的connstr?
我在somee.com上部署了我的asp.net Web应用程序,每当我登录到这个站点(ipc.somee.com)时,它给我一个网络相关的错误,如:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated …Run Code Online (Sandbox Code Playgroud) sql-server asp.net connection-string database-connection sql-server-2008
sql-server ×3
asp.net ×2
c# ×2
asp.net-core ×1
azure ×1
database ×1
datacontext ×1
git ×1
gitignore ×1
iis-7 ×1
linq-to-sql ×1
log4net ×1
powershell ×1
python ×1
sqlalchemy ×1
web-config ×1