繁体   English   中英

错误消息'此操作系统不支持指定的区域设置。

[英]Error message 'The specified locale is not supported on this operating system.'

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

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

连接字符串:

 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所述)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM