2016-09-05 7 views
0

в синхронизации SyncFramework после serverProvision.Apply tablename_tracking таблицы и хранимые процедуры, созданные с сервером ConnectionString DB UID для Ex: tasnim_DBUser.tabelname_tracking или tasnim_DBUser.tablename_selectchanges, ...как база данных изменения схемы для .dbo в SyncFramework

server connectionstring : @"Data Source=sitedomain,1433;Persist Security Info=false;Initial Catalog=databasename;UID=tasnim_DBUser;PWD=*******;"; 

Я хочу создать с DBO. ******

я установить ObjectSchema, но не решен

SqlSyncScopeProvisioning serverProvision = new SqlSyncScopeProvisioning(serverConn, scopeDesc) 
         { 
          ObjectSchema = "dbo", 
          ObjectPrefix = "dbo" 
         }; 

хозяина общий, Plesk панель

редактировать 1: сервер Provisioning Код:

if (new SqlSyncScopeProvisioning(serverConn).ScopeExists("MySyncScope2")) return; 
DbSyncScopeDescription scopeDesc = new DbSyncScopeDescription("MySyncScope2"); 
DbSyncTableDescription tableNameTableDesc = SqlSyncDescriptionBuilder.GetDescriptionForTable("tableName", serverConn); 
. 
. 
. 
scopeDesc.Tables.Add(tableNameTableDesc); 
. 
. 
. 
try 
      { 
       SqlSyncScopeProvisioning serverProvision = new SqlSyncScopeProvisioning(serverConn, scopeDesc); 
       serverProvision.SetCreateTableDefault(DbSyncCreationOption.Skip); 
       if (!serverProvision.ScopeExists("MySyncScope2")) serverProvision.Apply(); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 

Clint Provisioning Код:

if (new SqlSyncScopeProvisioning(db.Con).ScopeExists("MySyncScope2")) return; 
    try 
      { 

       DbSyncScopeDescription scopeDescClint = 
        SqlSyncDescriptionBuilder.GetDescriptionForScope("MySyncScope2", serverConn); 

       SqlSyncScopeProvisioning clientProvision = new SqlSyncScopeProvisioning(db.Con, scopeDescClint); 

       if (!clientProvision.ScopeExists("MySyncScope2")) clientProvision.Apply(); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
+0

@junet: Пожалуйста, помогите –

+0

вы можете разместить свой код обеспечения? – JuneT

+0

@JuneT добавьте код подсистемы под вопрос –

ответ

0

я нашел решение, пользователь БД должен иметь db_owner роль и установить схему по умолчанию "dbo" с данным запросом

ALTER USER dbUserName WITH DEFAULT_SCHEMA = dbo; 

или в менеджере SQL-сервера ement studio/security/users/db-username/Right-click/properties/set default schema "dbo"