sqlserver2008如何实现 跨数据库 复制,查询? 跨数据库查询用 jpa 怎么实现? 求高手赐教?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver2008如何实现 跨数据库 复制,查询? 跨数据库查询用 jpa 怎么实现? 求高手赐教?相关的知识,希望对你有一定的参考价值。

参考技术A opendatasource('sqloledb,'Data Source=服务器地址;UserID=sa;Password=pass@word1 ').数据库名字.dbo.[表名] 这是跨服务器的调用,如不是不是跨服务器,直接数据库名.dbo.表名追问

用jpa怎么实现啊?

参考技术B 我只知道sql 跨库 操作
先在当前服务器的数据添加 链接服务器,如设置名为[dbserver]
select * from [dbserver].[数据库名].dbo.[表名]追问

用jpa怎么实现啊?

本回答被提问者采纳
参考技术C 在查询语句中加入数据库的名字就好了。。。。

突变后,如何跨视图更新受影响的数据? [复制]

【中文标题】突变后,如何跨视图更新受影响的数据? [复制]【英文标题】:After a mutation, how do I update the affected data across views? [duplicate] 【发布时间】:2017-03-01 11:14:21 【问题描述】:

我有 getMovies 查询和 addMovie 突变工作。当addMovie 发生时,我想知道如何最好地更新“编辑电影”和“我的个人资料”中的电影列表以反映这些变化。我只需要一个一般性/高级别的概述,或者如果它很简单,甚至只是一个概念的名称,关于如何实现这一点。

我最初的想法只是在我的 Redux 商店中保存所有电影。突变完成后,它应该返回新添加的电影,我可以将其连接到我商店的电影。

在“添加电影”之后,它会弹出回到“编辑电影”屏幕,您应该可以在其中看到新添加的电影,然后如果您返回“我的个人资料”,它也会在那里。

有没有比将它全部保存在我自己的 Redux 商店中更好的方法来做到这一点?有什么我不知道的阿波罗魔法可以为我处理这个更新吗?


编辑:我发现了updateQueries 的想法:http://dev.apollodata.com/react/cache-updates.html#updateQueries 我想这就是我想要的(如果这不是正确的方法,请告诉我)。这似乎比使用我自己的 Redux 商店的传统方式更好。

// this represents the 3rd screen in my picture
const AddMovieWithData = compose(
  graphql(searchMovies, 
    props: ( mutate ) => (
      search: (query) => mutate( variables:  query  ),
    ),
  ),
  graphql(addMovie, 
    props: ( mutate ) => (
      addMovie: (user_id, movieId) => mutate(
        variables:  user_id, movieId ,
        updateQueries: 
          getMovies: (prev,  mutationResult ) => 
            // my mutation returns just the newly added movie
            const newMovie = mutationResult.data.addMovie;

            return update(prev, 
              getMovies: 
                $unshift: [newMovie],
              ,
            );
          ,
        ,
      ),
    ),
  )
)(AddMovie);

addMovie 突变后,这会正确更新“我的个人资料”中的视图,因为它使用了 getMovies 查询(哇)!然后我将这些电影作为道具传递到“编辑电影”中,那么我该如何在那里更新呢?我应该让他们都使用getMovies 查询吗?有没有办法将 getMovies 的新结果从商店中拉出,这样我就可以在“编辑电影”中重复使用它而无需再次进行查询?


EDIT2:getMovies 查询容器包装MyProfileEditMovies 似乎工作正常。在addMovie 之后,由于updateQueriesgetMovies 上,它在两个地方都有更新。它也很快。我认为它正在被缓存?

一切正常,所以我想这只是一个问题:这是最好的方法吗?

【问题讨论】:

对于阿波罗魔法,显示一些代码.. 当您说“这是最好的方法吗?”由于它是基于意见的,您可能会关闭您的问题。但是,我来这里是为了根据标题中的问题写下您提出的答案(顺便说一句,标题写得很好!)所以我会这样做;) 【参考方案1】:

Apollo 客户端仅在更新突变时更新存储。因此,当您使用创建或删除突变时,您需要告诉 Apollo 客户端如何更新。我原以为商店会自动更新,但它没有……

在您进行突变后,我已经使用resetStore 建立了一个解决方法。 您在进行突变后重置商店。然后当你需要查询时,store 是空的,所以 apollo 重新获取新数据。

代码如下:

import  withApollo  from 'react-apollo'

...

  deleteCar = async id => 
    await this.props.deleteCar(
      variables:  where: 
        id: id
       ,
    )
    this.props.client.resetStore().then(data=> 
      this.props.history.push('/cars')
    )
  


...


export default compose(
  graphql(POST_QUERY, 
    name: 'carQuery',
    options: props => (
      fetchPolicy: 'network-only',
      variables: 
        where: 
          id: props.match.params.id,
        
      ,
    ),
  ),
  graphql(DELETE_MUTATION, 
    name: 'deleteCar',
  ),
  withRouter,
  withApollo
)(DetailPage)

完整代码在这里:https://github.com/alan345/naperg 破解前的错误resetStore

【讨论】:

【参考方案2】:

标题中问题的答案是

使用updateQueries“通知”驱动其他视图的查询数据已更改(如您所见)。

这个话题在 react-apollo slack 频道中得到了持续的讨论,这个答案是我所知道的共识:没有明显的替代方案。

请注意,您可以更新多个查询(这就是名称为复数的原因,并且参数是一个对象,其中包含与所有需要更新的查询的名称相匹配的键)。

正如您可能猜到的那样,这种“模式”确实意味着您在设计和使用查询时需要小心谨慎,以便在设计突变时让生活变得轻松和可维护。更常见的 queires 意味着您在突变updateQueries 操作中错过一个的机会更少。

【讨论】:

谢谢!是的,当我发现updateQueries 时,我对它的运行效果感到非常惊讶,但作为一个新手,当事情实际运行时,我不禁感到有点不舒服,尤其是在尖端技术领域!你对我的附带问题有什么想法吗?最初,只有“我的个人资料”有 getMovies 查询,而我只是将电影作为道具传递给“编辑电影”。当然,这意味着在突变之后,它只会更新getMovies 所在的位置......所以只在“我的个人资料”上。正在将 getMovies 添加到“编辑电影”中,所以它也会在那里更新,在这里做正确的事情吗? 这就是我在“仔细设计和使用查询”中提到的:)我认为答案是“是的”。请注意,其他选项包括将这两个组件都放在另一个容器中,并执行查询,并将移动列表作为道具传递。这只是一个选项,如果它在 UI 设计中有意义(在我的应用程序看起来就像你的一样,“编辑电影”是一种模式,因此可以从“我的个人资料”中获取道具,并在“我的个人资料”容器中更新确实...但是模态通常不是一个好主意:O)。也许在apollostack.slack.com/archives/react-apollo 见到你 来自官方文档:“我们建议使用update 而不是updateQueries。updateQueries 将在下一版本的 Apollo Client 中删除。” src

以上是关于sqlserver2008如何实现 跨数据库 复制,查询? 跨数据库查询用 jpa 怎么实现? 求高手赐教?的主要内容,如果未能解决你的问题,请参考以下文章

Sql Server 2008如何检查表中是不是存在列? [复制]

如何设置sqlserver2008访问次数

SQL Server 跨服务器同步或定时同步数据库

如何删除 SQL Server 2008 R2 数据库中的最后 N 条记录? [复制]

sql server2008 跨服务器之间复制表数据

如何实现 sql2008 和 sql2012 共存?