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

时间:2012-01-10 14:06:42

标签: c# .net windows sql-server-ce

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

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]不支持指定的区域设置。

我该如何解决这个问题?

更新

连接字符串:

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

您是否通过LCD=####locale ID字符串中指定了connection(其中####是支持的4位LCID号码)?如果是这样,您确定它在您的操作系统上受支持吗?

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

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