错误消息“指定的区域设置在此操作系统上不受支持”。

我正在使用以下方法创build数据库文件。

public bool CreateDatabaseFile() { try { Stream file = File.Create(DBPath); file.Close(); return true; } catch (Exception) { return false; } } 

但是当我打电话

  public void CreateDatabaseStruct() { var queries = new List<string> { "create table contacts (\"name\" nvarchar,\"emails\" nvarchar);", "create table errors (\"code\" int, message nvarchar);" }; foreach (string query in queries) { var con = new SqlCeConnection(connectionString); con.Open(); var cmd = con.CreateCommand(); cmd.CommandText = query; cmd.ExecuteNonQuery(); con.Close(); } } 

它返回

此操作系统[LCD – 1]不支持指定的区域设置。

我该如何解决?

UPDATE

连接string:

  public static readonly string DBPath = "db.sdf"; public static readonly string connectionString = String.Format("Data Source={0}; Password=...", DBPath); 

解决方案是使用SqlCeEngine.CreateDatabase()创建它。

您是否在连接字符串中通过LCD=#### (其中####是支持的4位LCID编号​​)指定区域设置ID ? 如果是这样,你确定它在你的操作系统上受支持吗?

如果没有,也许你的操作系统设置为不同的文化,这是不支持的数据库。

请张贴您的连接字符串,并提供一些关于您正在使用的操作系统的更多信息(如@MusiGenesis所述)。