Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以编程方式创建新的本地SQL Server实例?_C#_Sql Server_Database - Fatal编程技术网

C# 如何以编程方式创建新的本地SQL Server实例?

C# 如何以编程方式创建新的本地SQL Server实例?,c#,sql-server,database,C#,Sql Server,Database,我正在尝试创建一个程序,它可以设置自己的数据库,而不需要任何外部设置脚本。我在以编程方式创建SQL Server数据库时发现了一个错误,但它隐式地假设您已经有了一个要连接的服务器 如果我没有,我如何以编程方式创建它 const SERVER_NAME = "MyDbServer"; private DbConnection GetConnection() { var connectionString = System.Configuration.ConfigurationManager.

我正在尝试创建一个程序,它可以设置自己的数据库,而不需要任何外部设置脚本。我在以编程方式创建SQL Server数据库时发现了一个错误,但它隐式地假设您已经有了一个要连接的服务器

如果我没有,我如何以编程方式创建它

const SERVER_NAME = "MyDbServer";

private DbConnection GetConnection() {
   var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;
   return new SqlConnection(connectionString);
}

public void Test(){
   try {
      //assume this is valid and calls GetConnection() internally
      var _ = Query<int>('select count(*) from USERS', null);
   } catch (System.Data.SqlClient.SqlException) {
      DO SOMETHING HERE TO CREATE THE SERVER
      var conn = GetConnection();
      var command = SqlCommand('create database MyDatabase;', conn);
      conn.Open();
      command.ExecuteNonQuery();
   }
我需要在这里做些什么来创建服务器部分


编辑:如标题中所述,这是我正在尝试创建的本地服务器。出于此问题的目的,假设此计算机上安装了SQL Server的SqlLocalDB,但不存在具有我要使用的名称的本地服务器。

非常确定创建LocalDb服务器是自动的:

LocalDB不创建任何数据库服务;LocalDB进程是 需要时自动启动和停止。这个应用程序很简单 连接到数据源=localdb\v11.0且localdb进程为 作为应用程序的子进程启动。几分钟后 此进程的最后一个连接已关闭。进程将关闭


也就是说,当您使用LocalDb时,从技术上讲,您根本不是在运行服务器—您只是在使用sqlserver.exe来处理数据库事务。因此,要回答您的问题,您不需要在“在这里做些什么来创建服务器”部分中添加任何内容。

我以前做过这件事,虽然这绝对可能不是一件小事,但在不同的机器上安装时,您必然会遇到许多边缘情况


您需要用于SQL Server的独立安装程序获取用于SQL Express的单文件安装程序,然后使用本文作为指南,指定安装的选项。

您要使用正确的磁盘布局、备份设置和用户帐户,包括获得许可证,来配置SQL Server实例,从C程序中的异常处理程序?我能否谦虚地建议您使应用程序支持SQL Server Compact edition,并要求没有数据库服务器的用户为Compact edition配置连接字符串?然后您可以像下面的问题一样创建数据库:由于需要许多配置,所以没有简单的方法来设置Mssql数据库。O可以建议您尝试docker和sql server 2017映像,如果您有docker可用,如果没有,我建议您手动安装服务器,因为在代码中创建服务器的逻辑很难创建,而且只有在第一次使用时才有优势是runUse SqlLite?它不是SQL server,但不需要SQL server。您可以在文件数据库中使用它。您使用create选项运行sqllocaldb:吗?如果这是答案,则会使该问题与。。。我可能会将答案添加到比您所发布的内容更完整的内容中,但该答案指的是SQL Server Compact Edition,它与LocalDb完全不同。