我正在使用以下方法创建数据库文件。
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);
答案 0 :(得分:3)
解决方案是使用SqlCeEngine.CreateDatabase()创建它。
答案 1 :(得分:2)
您是否通过LCD=####
在locale ID字符串中指定了connection(其中####是支持的4位LCID号码)?如果是这样,您确定它在您的操作系统上受支持吗?
如果没有,也许您的操作系统设置为不同的文化,数据库不支持。
请发布您的连接字符串,并提供有关您正在使用的操作系统的更多信息(如@MusiGenesis所述)。