asp怎么用OpenDataSource插入数据到sql数据库中?

我想把excel的数据插入sql数据库中,我的代码如下:

set conn1=server.CreateObject("adodb.connection")
Conn1.Open "PROVIDER=SQLOLEDB;DATA SOURCE=hhfu3;UID=sa;PWD=hhfp;DATABASE=chy0g02"

运行后提示:Microsoft OLE DB Provider for SQL Server 错误 '80040e14',列名 'jh' 无效。/cy0502/sjcx/add_water2.asp,行 24

我的字段没有错的,是怎么回事?用 OpenDataSource,怎么才能把excel的数据插入到sql数据库中?

运行后提示:Microsoft OLE DB Provider for SQL Server 错误 '80040e14',列名 'jh' 无效。/cy0502/sjcx/add_water2.asp,行 24

这个提示非常明确的说明了问题所在,在你的/cy0502/sjcx/add_water2.asp 文件中的24行的SQL语句中的 列名 'jh' 无效

列名jh无效,说明数据库没有jh列。执行sql前用Response.Write 输出sql语句看看,肯定是有问题或者字段名拼写错误


sql=".........."
response.write sql''''''''''''''
response.end''''''''''''''

img


有其他问题可以继续交流~

我的代码是这样写的
set conn1=server.CreateObject("adodb.connection")
Conn1.Open "PROVIDER=SQLOLEDB;DATA SOURCE=hhfu3;UID=sa;PWD=hhfp;DATABASE=chy0g02"
sql="INSERT INTO wycy002 (jh,rq,scsj,rzsl,rpzsl) Select jh,rq,scsj,rzsl,rpzsl From OpenDataSource('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=NO;IMEX=1;DATABASE=E:ccy0502\data\wcyy002.xls')...[sheet1$]"
conn1.Execute(sql)

运行后提示:Microsoft OLE DB Provider for SQL Server 错误 '80040e14',列名 'jh' 无效。/cy0502/sjcx/add_water2.asp,行 24

把你这个数据库里的wycy002这个表的表结构贴出来看看,肯定是列名不匹配,比如有大小写区分


你的sql是 INSERT INTO wycy002 (jh,rq,scsj,rzsl,rpzsl)
这个括号里的jh是指wycy002这个表里的jh字段,但从你贴出来的字段名来看,实际wycy002这个表并没有jh字段,只有JH,所以会报错


你先登录到数据库里,单独执行一下insert语句后面的那个查询看看,另外,那个文件地址你自己确认一下准确性

Select jh,rq,scsj,rzsl,rpzsl From OpenDataSource('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=NO;IMEX=1;DATABASE=E:\ccy0502\data\wcyy002.xls')...[sheet1$]

上面这个如果报字段不存在,就查下面这个,看看它识别出来的字段名到底是个啥

Select * From OpenDataSource('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=NO;IMEX=1;DATABASE=E:\ccy0502\data\wcyy002.xls')...[sheet1$]
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632