项目中遇到的两个问题 100dongdong19871024]

发布时间:2016-12-9 21:29:12 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"项目中遇到的两个问题 100dongdong19871024]",主要涉及到项目中遇到的两个问题 100dongdong19871024]方面的内容,对于项目中遇到的两个问题 100dongdong19871024]感兴趣的同学可以参考一下。

最近接了一个项目,是关于一个企业的工资管理系统,遇到了两个问题,希望大家给些意见和建议 一,这个企业之前有个其他的管理系统,数据库是SQLServer2000的,但是新系统要求用SQLServer2005,新系统中要用到2000中的数据,而且不能破坏旧的数据库 二,工资的打印要求用B4纸 希望有经验的朋友或者有好点解决方案的朋友能给些意见或建议,提出些好点的想法,先谢谢大家

一,这个企业之前有个其他的管理系统,数据库是SQLServer2000的,但是新系统要求用SQLServer2005,新系统中要用到2000中的数据,而且不能破坏旧的数据库  -- 在2005里可以直接访问2000的数据, 如果用应用程序做的话,用两个连接就行 二,工资的打印要求用B4纸  --- 那是打印机设置的事呀

帮顶一下

之前的旧系统用的是asp.net1.0的 (可以在VS2003系运行) 新系统用2.0的  用两个链接的话会不会...............

一、这两个数据库可以共存于一台服务器上,引用数据库名.所有者名.数据库对象(dbname..tabname)可以直接查询或更新数据。 二、这两个数据库分开在两台机器上,要用到链接服务器。 --不同服务器数据库之间的数据操作 --************************************************************************************ 1、--创建链接服务器  exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '  exec sp_addlinkedsrvlogin  'ITSV ', 'false ',null, '用户名 ', '密码 '  2、启动两台服务器的MSDTC服务  MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。 3、打开双方的135端口 MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135端口不被防火墙挡住。 使用“telnet IP 135”命令测试对方端口是否对外开放。也可用端口扫描软件(比如Advanced Port Scanner)扫描端口以判断端口是否开放 4、--如要创建触发器    create   trigger   t_test   on   test    for   insert,update,delete    as  --加上下面两句,否则会提示新事务不能登记到指定事务处理器 set    xact_abort   on   begin  distributed   tran  delete   from   openrowset('sqloledb','xz';'sa';'',test.dbo.test)    where   id   in(select   id   from   deleted)    insert   into   openrowset('sqloledb','xz';'sa';'',test.dbo.test)    select   *   from   inserted    commit tran --查询示例  select * from ITSV.数据库名.dbo.表名  --导入示例  select * into 表 from ITSV.数据库名.dbo.表名  --以后不再使用时删除链接服务器  exec sp_dropserver  'ITSV ', 'droplogins '  --**************************************************************************************                 --连接远程/局域网数据(openrowset/openquery/opendatasource)  --************************************************************************************** --1、openrowset  --查询示例  select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)  --生成本地表  select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)  --把本地表导入远程表  insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)  select *from 本地表  --更新本地表  update b  set b.列A=a.列A   from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b  on a.column1=b.column1  --2、openquery  --首先创建一个连接创建链接服务器  exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '  --查询  select * FROM openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ')  --把本地表导入远程表  insert openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ')  select * from 本地表  --更新本地表  update b  set b.列B=a.列B  FROM openquery(ITSV,  'SELECT * FROM 数据库.dbo.表名 ') as a   inner join 本地表 b on a.列A=b.列A  --3、opendatasource SELECT   *  FROM   opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta  --把本地表导入远程表  insert opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名  select * from 本地表  

1、可以把2000中输入导入到2005  2、这是报表和打印机的事,sql没办法^_^ 用B4的,真够特别的

可以做同步.. 2000发布 2005订阅。

把sql2000导入到sql2005中 用sql2005进行管理

要不你就采用4楼的

SQL server 2000 数据库转化成SQL server 2005 有专门转换工具DatabasePublishingWizard 报表设置!!

学习

高手!

微软的东西基本都是可以向下兼容的 SQL2005可以直接将SQL2000的数据导入的,包括数据,一些索引,外键之类的东西的 VS2005可以自动转化VS2003的项目的 至于A4应该是打印机设置的问题,或者在你的程序中进行页面设置的,sql是无能为力的

UP ~

是的 高版本的可以兼容低版本的东西

上一篇:SQL server 2005 调用webservice接口 时的问题 20wjt_china]
下一篇:OLAP中的数据成员是什么意思? 0fredrickhu]

相关文章

相关评论