哪位高手用过SQL语句 把EXCEL 导入SQL Server 2000数据库?
哪位高手用过SQL语句 把EXCEL 导入SQL Server 2000数据库?
我的SQL语句:
AnsiString sql;
sql= "select * into DataAnalyze from OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0 ', 'Excel 5.0;HDR=YES;DATABASE= ";
sql+=Edit1-> Text+ " ',sheet1$) ";
PQuery-> SQL-> Add(sql);
PQuery-> Open();
但运行时报错。
我在SQL Server 2000 查询分析器里输入:(绝对路径)
select * into 表 from
OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0 '
, 'Excel 5.0;HDR=YES;DATABASE=H:\Test2\a.xls ',sheet1$)
运行正确。
请问这是怎么回事啊?有没有好方法用SQL语句 把EXCEL 转为SQL Server 2000
[解决办法]
那是因为Excel中的每个Cell中都是字符型,但是SQL Server中每个字段的类型不一样,比如说整形数据123456,在Excel中就是“123456”。在转换的时候要把“123456”转换成123456才能成功。
[解决办法]
直接用DTS导入SQL Server数据库,不就可以了吗?
[解决办法]
你确保你的数据连接上了马?
[解决办法]
当然可以,用SQL语句有点困难,我看还是得必须写转换代码,我相信SQL Server的导入也有这样的转换的。
[解决办法]
AnsiString sql;
sql= "select * into DataAnalyze from OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0 ', 'Excel 5.0;HDR=YES;DATABASE= ";
sql+=Edit1-> Text+ " ',[sheet1$]) "; //这样试试
PQuery-> SQL-> Add(sql);
PQuery-> Open();
[解决办法]
PQuery不知是不是ADO页上的,
推荐用ADOConnection-> Excute方法
[解决办法]
你的报警提示说明你是用一个DataSet控件,比如说TADOQuery,TADODataSet。这时你不能用Active := True或Open,而要用ExcuteSQL这样的语句。