首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    了解开源许可,减少不必要麻烦

    之前技术圈因为React专利事件再次被大家关注,印象中Angular和Vue的纷争刚刚过去不久,果然前端技术圈对”造轮子”和”搞事情”有着近乎执著的追求。作为一个在知乎吃瓜的伪前端工程师,我对这凑热闹这种事情从来都是是颇为喜欢的。如果说Angular和Vue冲突主要来自大漠穷秋和尤小尤的个人战场,那么这次React专利事件则是商业公司之间对社区主导力量的一次争夺和抗衡。开源是一种近似乌托邦般的理想社会,它倡导的”人人为我,我为人人”这种近乎大同社会的观念,在面临商业化浪潮洗礼的时候难会和商业利益发生冲突,譬如Google因为使用Java而和甲骨文纠纷不断,最终不得不选择Kotlin作为Android开发的主力语言。所以这篇文章我想和大家通过React专利事件来聊聊开源软件许可,以及我们如何在商业化和开源社区间找到一个平衡点。

    03

    利用SQLServer2005复制功能实现与Oracle数据库同步

    在项目中经常会遇到一个项目操作几个数据库的情况,若是同种类型的数据库也还好说,可以直接链接两个数据库,也可以用数据库的同步功能。若我们的项目使用SQLServer2005进行开发,而且项目中要用到Oracle数据库中的数据,那么又该怎么实现拉?一般来说方案有以下几种。 1.分别建立链接对数据库进行操作,SQLServer可以用ADO.NET,操作Oracle可以用OLEDB或者用System.Data.OracleClient(需要添加引用才能用) 这种方案的优点就是简单,各自写各自的数据库操作代码,缺点就是不能将两个数据库中的表直接进行联合查询,链接Oracle的每台机器必须安装OracleClient才可以使用。 2.使用同义词操作Oracle数据库。 这种方法的具体操作我在以前的文章中已经写清楚了,这样做一来可以进行表的联合查询二来不需要每台机器都安装OracleClient,但是还是有一个缺点:效率低,比如对同义词使用like去查找需要的数据,如果是直接连Oracle数据库也许只要0.1秒就可以找到答案,但是用同义词可能就要等10秒20秒或更久。原来SQLServer并不是直接把查询语句传递给Oracle,让Oracle执行操作,而是将所有数据都取到SQLServer服务器上,边取数据边分析,直到满足查询条件为止。其实这种数据放在两个服务器上还有一个缺点就是一旦Oracle服务器宕机,即使我们这边的所有服务器都是好的,那么我们的程序中用到Oracle数据的地方就无法使用。 3.直接链接Oracle数据库+同义词+作业+异常跳转 方式。 这种方法具体讲就是我们的程序直接用OLEDB(OracleClient)链接Oracle数据库,同时SQLServer服务器也建立了同义词指向Oracle,在SQLServer上建立作业,将同义词中的数据拷贝到SQLServer服务器的表中。一旦Oracle宕机,程序中就会捕捉到异常,于是就使用SQLServer中的数据。这样做比较复杂,需要一定的编程,效率也不是特别高,但是优点也是明细的,平时链接Oralce服务器,异常情况下链接SQLServer中的备份数据,保证了程序的正常运行。 4.直接编写一个程序,以服务或自启动方式一直运行,每隔一段时间将Oracle数据库中的数据写到SQLServer数据库中。 这种方法就是编程复杂,具有很大难度。 5.利用SQLServer2005的复制功能将Oracle数据库中的数据同步到SQLServer服务器中,程序只操作SQLServer,不链接Oracle数据库。 这种方法不需要编写任何代码,由于只对SQLServer进行查询,所以查询效率高可以做多表链接,开发人员也不需要再装OracleClient,也不用害怕Oracle服务器宕机导致我们的相关程序无法使用。优点倒是很多,那么有没有缺点拉?缺点还是有的,主要是取得的数据不是实时的数据,Oracle那边的数据更新了,我们这边还有可能是老数据。 前面的四种方法我就不用多讲了,这次主要是讲第五种方法的具体实现:

    01

    如何建立本地sql服务器

    运行Management Studio是管理工具(不是sqlserver服务器),是用来管理服务器的,新建服务器注册,就是连接到一个新的sqlserver服务器上。 要连接本机的sqlserver服务,请使用(local)或者是127.0.0.1,集成验证方式。 SQLServer在一台机器上是可以安装多个相互独立的服务(实例),用不同的实例名区分,但是一般不这么干,单独的服务一般就能满足需求了。 1、安装sqlserver,一般用默认实例名,并将当前用户添加为数据库管理员,安装过程中会让你设置验证方式(集成验证还是混合验证),如果你的程序使用用户名密码连接sql,则需要启用混合验证(并需要设置sa密码) 2、安装完成后(需重启),启动Management Studio连接本地数据库服务,连接后可以新建数据库,数据表(当然,你也可以用程序连接后用代码创建) 3、Management Studio 连接服务器时,和程序连接服务器一样,如果连接的SQLSERVER不是服务器上的默认实例名,则服务器地址后需要有实例名(形如:192.168.0.100\SQLEXPRESS),如果省略实例名则连接默认实例(默认实例名MSSQLSERVER)

    05

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券