当我尝试配置microsoft azure范围时,我收到了DbPartialllyProvisionedException。它返回错误"无效的列名称' ISQLHELPERCACHEDPRIMARYCLIENTNAME'。"我不知道为什么,因为它以前工作。对ce数据库进行了一些更改,即添加了更多表,但就是这样。如果有人能提供帮助,我将不胜感激。
供应代码:
*
SqlCeConnection sqlCEConnProv = new SqlCeConnection(SQLCEConnectionString);
sqlCEConnProv.Open();
SqlCeCommand cmd = sqlCEConnProv.CreateCommand();
cmd.CommandText = "select table_name from information_schema.tables where TABLE_TYPE <> 'VIEW' AND TABLE_NAME NOT LIKE '__sys%'";
SqlCeDataReader reader = cmd.ExecuteReader();
List<string> tableNames = new System.Collections.Generic.List<string>();
while (reader.Read())
{
tableNames.Add(reader.GetString(0));
}
SqlConnection sqlAzureConnProv = new SqlConnection(SQLAzureConnectionString);
DbSyncScopeDescription myScope = new DbSyncScopeDescription(scopeName);
foreach (string tableName in tableNames)
{
DbSyncTableDescription Customer = SqlCeSyncDescriptionBuilder.GetDescriptionForTable(tableName, sqlCEConnProv);
myScope.Tables.Add(Customer);
}
// Setup SQL Server for sync
SqlCeSyncScopeProvisioning sqlServerProv = new SqlCeSyncScopeProvisioning(sqlCEConnProv, myScope);
sqlServerProv.ObjectPrefix = syncPrefix;
if (!sqlServerProv.ScopeExists(scopeName))
// Apply the scope provisioning.
sqlServerProv.Apply();
// Setup SQL Database for sync
SqlSyncScopeProvisioning sqlAzureProv = new SqlSyncScopeProvisioning(sqlAzureConnProv, myScope);
sqlAzureProv.ObjectPrefix = syncPrefix;
if (!sqlAzureProv.ScopeExists(scopeName))
{
// Apply the scope provisioning.
//string script = sqlAzureProv.Script(); // debugging
sqlAzureProv.Apply();
}
sqlCEConnProv.Close();
sqlAzureConnProv.Close();
*