【发布时间】:2016-07-10 10:32:29
【问题描述】:
我正在使用 C# 在 WPF 中创建一个客户端,我需要将它安装在客户端(平板电脑表面)上。也就是说,我安装了 SQL Server 2014 Express 版本,只是为了获取实例,我从这里下载了:
https://www.microsoft.com/en-US/download/details.aspx?id=42299
我明白了:
Express 64BIT\SQLEXPR_x64_ENU.exe
我安装了一切,当然我没有SQL Server接口的管理,但我无法创建数据库,这是我的错误:
发生网络相关或特定于实例的错误,同时 建立与 SQL Server 的连接。找不到服务器或 无法访问。验证实例名称是否正确,并且 SQL Server 配置为允许远程连接。 (提供者:命名 Pipes Provider,错误:40 - 无法打开与 SQL Server 的连接
这是我的连接字符串(从常量文件中获取):
Server=SQLEXPRESS;Database=master;Integrated security=true;
这是我的代码:
public void CreateDatabase(String PID)
{
String connection = Constants.localServerConnectionSQL.LocalServerConnectionSQLName;
SqlConnection Connection = new SqlConnection();
Connection = new SqlConnection(connection);
Connection.Open();
string Path = Environment.GetEnvironmentVariable("LocalAppData") + @"\CDA\UserDatabase\" + PID.ToString();
log.Info("DBCreationScripts: Path DB: " + Path.ToString());
String str = "CREATE DATABASE [" + PID + "] ON PRIMARY " +
"(NAME = MyDatabase_Data, " +
"FILENAME = '" + Path + ".mdf', " +
"SIZE = 5MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " +
"LOG ON (NAME = [" + PID + "Log_Log], " +
"FILENAME = '"+Path+"Log.ldf', " +
"SIZE = 1MB, " +
"MAXSIZE = 5MB, " +
"FILEGROWTH = 10%)";
log.Info("DBCreationScripts: Comando di creazione DB: " + str);
try
{
SqlCommand myCommand = new SqlCommand(str, Connection);
log.Info("DBCreationScripts: Lancio il comando di creazione database");
myCommand.ExecuteNonQuery();
}
catch (System.Exception ex)
{
log.Info("DBCreationScripts: Eccezione nel comando di creazione database - Message: " + ex.Message);
throw ex;
}
}
问题是打开连接失败,实例是SQLEXPRESS,但是不明白同事为什么没有。 E ' 我可以配置错误吗?
SQL 服务都处于活动状态。
提示?
【问题讨论】:
-
数据源=[DBInstance];初始目录=[Database];User Id=[User];Password=[Password];MultipleActiveResultSets=True
-
您不是在尝试连接到 SQLEXPRESS 实例,而是在尝试连接到名为 SQLEXPRESS 的机器。修复您的连接字符串并使用正确的实例名称,例如
.\SQLEXPRESS或localhost\SQLEXPRESS或that.other.name\SQLEXPRESS。 请不要使用字符串连接来创建 SQL 脚本,除非你想要 Bobby Tables(又名 SQL 注入攻击) -
@MarcoBong 使用
Data Source而不是Server将无济于事。该错误与语法无关,Serveris 是Data Source的有效同义词 -
@PanagiotisKanavos 您的评论就是解决方案,如果您回答我的问题,我就正确了...谢谢!
标签: c# sql-server wpf sql-server-express