如何将SqlServer2005数据导入到Sybase 开发用的SqlServer2005 结果客户那里用Sybase数据库 SqlServer数据库中有视图 存储过程 函数 都要导过去的 谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.cnblogs.com/studyzy/archive/2008/04/22/1164817.html MSsql与sybase数据库移植方案一:1、在sqlserver2000的数据库服务上安装sybase客户端软件,这里主要是安装用SYBASE OLEDB PROVIDER驱动程序。2、配置sqlserver2000中的连接服务器: 企业管理器—》安全性—》连接服务器—》右键新建连接服务器—》定义连接名称; 选其他数据源; 指定程序名称为:SYBASEOLEDB PROVIDER; 产品名称可不填; 数据源指<servername>:<端口号>,如:yanfa:5000; 提供程序字符串按以下格式填写:UserID=username;Password=userpasswd(或者按如下格式:UID=username;PWD=userpasswd),这里的用户名和密码对应所要连接的SYBASE数据库中的用户名和密码 目录填要访问的数据库名称;—》 安全性标签页里:设置用此安全上下文进行,并录入SYBASE的数据库用户名和密码—》服务器选项标签页可默认—》确定。 3、准备工作全部完成!在sqlserver企业管理器—》安全性—》连接服务器打开刚建好的连接服务器—》点击表,即可在右边窗口看到该SYBASE数据库用户拥有的的所有表名,但在这里还并不能查看表的记录,这个需要在sqserver的查询分析器中用具体sql实现!访问表时,使用格式为: [连接服务器名].[数据库名].[SYBASE用户].[表名]。更详细具体的使用这里不再赘述。 4、用查询语句导入sybase数据库,如:insert into sybase.usermanager.dbo.usergroupselect * from usergroupMSsql与sybase数据库移植方案二:1、在sybase数据库系统里建与MSsqlserver相同的数据库名及表结构,创建时每个数据库大初始大小为600M,设成自动增长模式,每次增长为100M.2、考虑到text字段类型在sybase15与sqlserver2000版本不兼容的问题,我们用mssql和sybase中的bcp进行数据导入导出;1)先从sqlserver中把数据里的每张表用bcp工具导出成txt文本bcp "database.owner.table1" out "table1.txt" -c -U"user" -P"password" -t"#|#" -r"#$#"2)再把导出文件拷贝到sybase服务器上,用sybase的bcp工具把文本导入sybase数据库bcp "database.owner.table1" in "table1.txt" -c -U"user" -P"password" -t"#|#" -r"#$#"如果表很多的话可,以bcp写成动态语句,如下:set @sql= 'bcp "select * from dbname..['+@tbname+'] " queryout '''+@txtfullpath+''' -c -S"'+@Servername+'" -U"'+@Username+'" -P"'+@Password+'"' EXEC master..xp_cmdshell @sql 三、其它方案1)、也可以sqlserver的TDS导入导出工具,不过在从sqlserver导入sybase时,text类型的字段会报错,无法导入,其它类型的字段没有问题,在sqlserver2005里也会出现一些莫名连接错误,TDS断掉退出。笔者到现在也没弄清,用DTS导入数据时怎么处理text类型的字段。2)、还可以用第三方软件操作,有一种DBD的工具好像也可以,但是要有完整的功能的需要会费的。如果有能力还可自己编写导入软件。总之:感觉sybase在其它数据库迁移时,不是很兼容,问题比较多,相信这样的产品慢慢会让市场淘汰掉的。 存储过程中两个表int型字段怎么比较 请教一个SQL语句,请各位前辈指点,谢谢! SQL多条件查询存储过程问题 记录筛选重复问题,在线等待,多谢各位! 使用CSDN的邹建《SQL Server导出表到EXCEL文件的存储过程》出现奇怪问题,在线急等!!! 求SQL语句,找出最相近的纪录 有关sql server agent 一个错误提示:“依存服务和组无法启动 ” 给个SQL语句吧,在线等待 help 11440:关于数据定位? 对没有使用游标输出的存储过程可以操作返回的数据集吗? 查询出比某个时间小的数据 sql
2、配置sqlserver2000中的连接服务器:
企业管理器—》安全性—》连接服务器—》右键新建连接服务器—》定义连接名称; 选其他数据源; 指定程序名称为:SYBASEOLEDB PROVIDER;
产品名称可不填; 数据源指<servername>:<端口号>,如:yanfa:5000; 提供程序字符串按以下格式填写:UserID=username;Password=userpasswd(或者按如下格式:UID=username;PWD=userpasswd),这里的用户名和密码对应所要连接的SYBASE数据库中的用户名和密码
目录填要访问的数据库名称;
—》 安全性标签页里:设置用此安全上下文进行,并录入SYBASE的数据库用户名和密码
—》服务器选项标签页可默认—》确定。
3、准备工作全部完成!在sqlserver企业管理器—》安全性—》连接服务器打开刚建好的连接服务器—》点击表,即可在右边窗口看到该SYBASE数据库用户拥有的的所有表名,但在这里还并不能查看表的记录,这个需要在sqserver的查询分析器中用具体sql实现!访问表时,使用格式为: [连接服务器名].[数据库名].[SYBASE用户].[表名]。更详细具体的使用这里不再赘述。
4、用查询语句导入sybase数据库,如:
insert into sybase.usermanager.dbo.usergroup
select * from usergroupMSsql与sybase数据库移植方案二:1、在sybase数据库系统里建与MSsqlserver相同的数据库名及表结构,
创建时每个数据库大初始大小为600M,设成自动增长模式,每次增长为100M.2、考虑到text字段类型在sybase15与sqlserver2000版本不兼容的问题,我们用mssql和sybase中的bcp进行数据导入导出;1)先从sqlserver中把数据里的每张表用bcp工具导出成txt文本
bcp "database.owner.table1" out "table1.txt" -c -U"user" -P"password" -t"#|#" -r"#$#"2)再把导出文件拷贝到sybase服务器上,用sybase的bcp工具把文本导入sybase数据库
bcp "database.owner.table1" in "table1.txt" -c -U"user" -P"password" -t"#|#" -r"#$#"如果表很多的话可,以bcp写成动态语句,如下:set @sql= 'bcp "select * from dbname..['+@tbname+'] " queryout '''+@txtfullpath+''' -c -S"'+@Servername+'" -U"'+@Username+'" -P"'+@Password+'"'
EXEC master..xp_cmdshell @sql 三、其它方案1)、也可以sqlserver的TDS导入导出工具,不过在从sqlserver导入sybase时,text类型的字段会报错,无法导入,其它类型的字段没有问题,在sqlserver2005里也会出现一些莫名连接错误,TDS断掉退出。笔者到现在也没弄清,用DTS导入数据时怎么处理text类型的字段。2)、还可以用第三方软件操作,有一种DBD的工具好像也可以,但是要有完整的功能的需要会费的。如果有能力还可自己编写导入软件。总之:感觉sybase在其它数据库迁移时,不是很兼容,问题比较多,相信这样的产品慢慢会让市场淘汰掉的。