如何使用Microsoft Sync Framework与过滤器数据同步

用户3863513

我正在使用SQL Server 2008的Microsoft Sync Framework进行唤醒,下面的C#是我的代码

public static void SetUp(string _pScopeName, DbSyncTableDescription _pDbSyncTable, SqlConnection serverConn, SqlConnection clientConn)
        {
            // Create a scope named "_ITEM" and add tables to it.
            DbSyncScopeDescription productScope = new DbSyncScopeDescription(_pScopeName);

            // Define the Products table.
            // Add the Table to the scope object.    
            productScope.Tables.Add(_pDbSyncTable);
            // Create a provisioning object for "_ITEM" and apply it to the on-premise database if one does not exist.
            SqlSyncScopeProvisioning serverProvision = new SqlSyncScopeProvisioning(serverConn, productScope);
            serverProvision.ObjectSchema = ".dbo";
            string _tblName = _pDbSyncTable.LocalName.Replace("[", "").Replace("]", "");
            serverProvision.SetCreateTableDefault(DbSyncCreationOption.Skip);
            serverProvision.Tables[_tblName].AddFilterColumn("_WORKGROUPNAME");
            serverProvision.Tables[_pDbSyncTable.LocalName].FilterClause = "[" + _tblName + "].[_WORKGROUPNAME] = " + _CCompanyVar._WORKGROUPNAME;
            //Skip create Sync Framework objects because we have already created them on the previous step
                serverProvision.SetCreateTableDefault(DbSyncCreationOption.Skip);

                //Create new select changes procedure for our scope
serverProvision.SetCreateProceduresForAdditionalScopeDefault(DbSyncCreationOption.Create);
                if (_CPubVar._Stop_bool)
                {
                    return;
                }
            if (!serverProvision.ScopeExists(_pScopeName))
                serverProvision.Apply();

            // Provision the SQL client database from the on-premise SQL Server database if one does not exist.
            SqlSyncScopeProvisioning clientProvision = new SqlSyncScopeProvisioning(clientConn, productScope);

            if (_CPubVar._Stop_bool)
            {
                return;
            }
            if (!clientProvision.ScopeExists(_pScopeName))
                clientProvision.Apply();    
        }

我收到错误消息:

The multi-part identifier "_ATTENDANCESTATUS._WORKGROUPNAME" could not be bound.
Invalid column name 'FPR'.

在第:行

serverProvision.Apply();

如果我删除以下行,则我的同步过程无需过滤器即可正常运行

string _tblName = _pDbSyncTable.LocalName.Replace("[", "").Replace("]", "");
            serverProvision.SetCreateTableDefault(DbSyncCreationOption.Skip);
            serverProvision.Tables[_tblName].AddFilterColumn("_WORKGROUPNAME");
            serverProvision.Tables[_pDbSyncTable.LocalName].FilterClause = "[" + _tblName + "].[_WORKGROUPNAME] = " + _CCompanyVar._WORKGROUPNAME;
            //Skip create Sync Framework objects because we have already created them on the previous step
            serverProvision.SetCreateTableDefault(DbSyncCreationOption.Skip);
            //Create new select changes procedure for our scope
            serverProvision.SetCreateProceduresForAdditionalScopeDefault(DbSyncCreationOption.Create);

_WORKGROUPNAME是我所有表中的一个公用字段,我想过滤_WORKGROUPNAME我在_CCompanyVar._WORKGROUPNAME(字符串变量)中传递值的数据...

我错了,请指出...

伊姆兰·阿里·汗(Imran Ali Khan)

用这个 ...

public static void SetUp(string _pScopeName, DbSyncTableDescription _pDbSyncTable, SqlConnection serverConn, SqlConnection clientConn)
        {
            // Create a scope named "_ITEM" and add tables to it.
            DbSyncScopeDescription productScope = new DbSyncScopeDescription(_pScopeName);

            // Define the Products table.
            // Add the Table to the scope object.    
            Collection<string> includeColumns = new Collection<string>();
            for (int i = 0; i < _pDbSyncTable.Columns.Count; i++)
            {
                includeColumns.Add(_pDbSyncTable.Columns[i].UnquotedName);
            }
            DbSyncTableDescription productDescription = SqlSyncDescriptionBuilder.GetDescriptionForTable(_pScopeName, includeColumns, serverConn);
            productScope.Tables.Add(productDescription);

            // Create a provisioning object for "_ITEM" and apply it to the on-premise database if one does not exist.
            SqlSyncScopeProvisioning serverProvision = new SqlSyncScopeProvisioning(serverConn, productScope);
            serverProvision.ObjectSchema = ".dbo";                
            // Filter Rows for the ListPrice column
            serverProvision.Tables[ _pDbSyncTable.LocalName].AddFilterColumn("_WORKGROUPNAME");
            serverProvision.Tables[ _pDbSyncTable.LocalName].FilterClause = "[side].[_WORKGROUPNAME] = '" + _CCompanyVar._WORKGROUPNAME + "'";

            if (_CPubVar._Stop_bool)
            {
                return;
            }
            if (!serverProvision.ScopeExists(_pScopeName))
                serverProvision.Apply();

            // Provision the SQL client database from the on-premise SQL Server database if one does not exist.
            SqlSyncScopeProvisioning clientProvision = new SqlSyncScopeProvisioning(clientConn, productScope);

            if (_CPubVar._Stop_bool)
            {
                return;
            }
            if (!clientProvision.ScopeExists(_pScopeName))
                clientProvision.Apply();

        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何确保使用Microsoft Sync Framework的同步成功?

来自分类Dev

如何同步Adblock Plus过滤器?

来自分类Dev

如何使用Microsoft Sync Framework在客户端数据库中插入新行

来自分类Dev

如何过滤数据过滤器jQuery

来自分类Dev

如何使用Sync Framework同步使用大多数相同数据重新创建的表?

来自分类Dev

如何通过以编程方式使用Microsoft Sync Framework同步不同sql服务器上的两个表?

来自分类Dev

Microsoft Sync Framework 2.1检测是否需要同步

来自分类Dev

使用AngularJS过滤器过滤数据。如何遍历对象?

来自分类Dev

如何同步两个过滤器?

来自分类Dev

Microsoft Sync框架,将数据库与文件同步

来自分类Dev

跟踪使用Microsoft Sync Framework上传,下载的更改

来自分类Dev

如何在过滤器数据表中使用全局过滤器

来自分类Dev

使用过滤器后如何组织数据

来自分类Dev

如何过滤数据透视表中的过滤器

来自分类Dev

使用多个过滤器值过滤数据

来自分类Dev

数组过滤器,使用键过滤数据

来自分类Dev

Microsoft Sync Framework for Files的正确选项

来自分类Dev

如何使用Microsoft Sync Framework仅将新项目上载到服务器而不更新/删除现有项目

来自分类Dev

ngGrid如何在多个列(例如Excel数据过滤器)上创建过滤器?

来自分类Dev

Microsoft Sync Framework:合并两个表中的数据

来自分类Dev

对多个脱机(局域网连接)本地数据库使用Microsoft Sync Framework吗?

来自分类Dev

如何使用Django Rest Framework过滤器将过滤器链接在一起

来自分类Dev

在Entity Framework Core中使用动态过滤器

来自分类Dev

如何从过滤器访问图像数据-DirectShowNet

来自分类Dev

如何实现数据表选择过滤器

来自分类Dev

如何仅显示数据透视表上的过滤器

来自分类Dev

如何在过滤器中加密响应数据

来自分类Dev

如何修复表格中的数据范围过滤器?

来自分类Dev

如何在Pandas数据框中配置过滤器?

Related 相关文章

  1. 1

    如何确保使用Microsoft Sync Framework的同步成功?

  2. 2

    如何同步Adblock Plus过滤器?

  3. 3

    如何使用Microsoft Sync Framework在客户端数据库中插入新行

  4. 4

    如何过滤数据过滤器jQuery

  5. 5

    如何使用Sync Framework同步使用大多数相同数据重新创建的表?

  6. 6

    如何通过以编程方式使用Microsoft Sync Framework同步不同sql服务器上的两个表?

  7. 7

    Microsoft Sync Framework 2.1检测是否需要同步

  8. 8

    使用AngularJS过滤器过滤数据。如何遍历对象?

  9. 9

    如何同步两个过滤器?

  10. 10

    Microsoft Sync框架,将数据库与文件同步

  11. 11

    跟踪使用Microsoft Sync Framework上传,下载的更改

  12. 12

    如何在过滤器数据表中使用全局过滤器

  13. 13

    使用过滤器后如何组织数据

  14. 14

    如何过滤数据透视表中的过滤器

  15. 15

    使用多个过滤器值过滤数据

  16. 16

    数组过滤器,使用键过滤数据

  17. 17

    Microsoft Sync Framework for Files的正确选项

  18. 18

    如何使用Microsoft Sync Framework仅将新项目上载到服务器而不更新/删除现有项目

  19. 19

    ngGrid如何在多个列(例如Excel数据过滤器)上创建过滤器?

  20. 20

    Microsoft Sync Framework:合并两个表中的数据

  21. 21

    对多个脱机(局域网连接)本地数据库使用Microsoft Sync Framework吗?

  22. 22

    如何使用Django Rest Framework过滤器将过滤器链接在一起

  23. 23

    在Entity Framework Core中使用动态过滤器

  24. 24

    如何从过滤器访问图像数据-DirectShowNet

  25. 25

    如何实现数据表选择过滤器

  26. 26

    如何仅显示数据透视表上的过滤器

  27. 27

    如何在过滤器中加密响应数据

  28. 28

    如何修复表格中的数据范围过滤器?

  29. 29

    如何在Pandas数据框中配置过滤器?

热门标签

归档