高分求解:SQLServer 2000问题

时间:2021-04-22 05:47:10
用Excel导入到SQLServer2000后,在Excel中只有一条记录,导入后,在SQL中有两条记录,一条记录是完整的,另一条是截断的。例:1、德阳市2003年度房地产开发企业资质年检同意变更企业名称,企业类型,地址或法人代表的房地产开发企业,
2、德阳市2003年度房地产开发企业资质年检同意变更企业名称,企业类型,地址或法人代表的房地产开发企业,更名为什邡市宏兴唐久置业有限公司,法人代表变更为韩建明

12 个解决方案

#1


希望快点结出答案,有了答案马上接贴、给分

#2


什么意思哦??你是问怎么导还是问导出来以后不是你要的结果??

#3


我是从Excel表里的内容导入到sqlserver2000后。。

#4


我是问你想要什么结果??
是不想截断的 ?

#5


对~~~~~~~~~~~~~~~~~另外、我想知道是什么原因造成的

#6


这个有可能是你数据过大的缘故呀!SQL不支持!就这么简单
你看看你的记录有多大呢?还有就是数据类型

#7


你可以的话,把这个表的数据分成两个表来保存导入

#8


楼主怎么不说话了?

#9


你把你的SQL的字段设为大一点试一下。

#10


/*******  导出到excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'

/***********  导入Excel
SELECT * 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

/*动态文件名
declare @fn varchar(20),@s varchar(1000)
set @fn = 'c:test.xls'
set @s ='''Microsoft.Jet.OLEDB.4.0'',
''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0'''
set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$'
exec(@s)
*/

SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255))+' ' 转换后的别名
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

/********************** EXCEL导到远程SQL
insert OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=远程ip;User ID=sa;Password=密码'
         ).库名.dbo.表名 (列名1,列名2)
SELECT 列名1,列名2
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

#11


他给的条件太模糊了!又不肯给出数据!

#12


虽然没有解决~还是结贴了

#1


希望快点结出答案,有了答案马上接贴、给分

#2


什么意思哦??你是问怎么导还是问导出来以后不是你要的结果??

#3


我是从Excel表里的内容导入到sqlserver2000后。。

#4


我是问你想要什么结果??
是不想截断的 ?

#5


对~~~~~~~~~~~~~~~~~另外、我想知道是什么原因造成的

#6


这个有可能是你数据过大的缘故呀!SQL不支持!就这么简单
你看看你的记录有多大呢?还有就是数据类型

#7


你可以的话,把这个表的数据分成两个表来保存导入

#8


楼主怎么不说话了?

#9


你把你的SQL的字段设为大一点试一下。

#10


/*******  导出到excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'

/***********  导入Excel
SELECT * 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

/*动态文件名
declare @fn varchar(20),@s varchar(1000)
set @fn = 'c:test.xls'
set @s ='''Microsoft.Jet.OLEDB.4.0'',
''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0'''
set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$'
exec(@s)
*/

SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255))+' ' 转换后的别名
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

/********************** EXCEL导到远程SQL
insert OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=远程ip;User ID=sa;Password=密码'
         ).库名.dbo.表名 (列名1,列名2)
SELECT 列名1,列名2
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

#11


他给的条件太模糊了!又不肯给出数据!

#12


虽然没有解决~还是结贴了