VB6.0如何实现excel导入到SQL server2008数据库中

PrivateSubCommand1_Click()DimstrconnAsStringCommonDialog1.Filter="全部文件"CommonDialog1.... Private Sub Command1_Click()
Dim strconn As String
CommonDialog1.Filter = "全部文件"
CommonDialog1.DialogTitle = "请选择要导入的文件"
Set rstemp = CreateObject("ADODB.Recordset")
Set cnn = CreateObject("ADODB.Connection")
strconn = "provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=watts1234;Initial Catalog=Data1;Data Source=WNV680WIN7"
cnn.Open strconn
CommonDialog1.ShowOpen
strsql = "select* into Table_1 from openrowset('Microsoft.Jet.OLEDB.4.0','Excel14.0;HDR=Yes;database=Data1" & CommonDialog1.FileName & ";','select * from[sheet1$]') where 型号<>'型号'"

rstemp.Open strsql, cnn, 1, 1

MsgBox "数据导入成功!", vbExclamation + vbOKOnly
cnn.Close
Set conn = Nothing
rstemp.Close
Set rstemp = Nothing
End Sub
大家帮忙看看这段代码有什么错误的地方,在运行的时候'Microsoft.Jet.OLEDB.4.0'返回一个错误提示:找不到可安装的ISAM
展开
 我来答
ireray5
2012-01-06 · TA获得超过396个赞
知道小有建树答主
回答量:557
采纳率:0%
帮助的人:357万
展开全部
用openrowset,具体用法查查资料看看。
更多追问追答
追问
就是用的那个方法 出错了  不知道什么原因
追答
strsql = "select * into Table_1 from (openrowset('Microsoft.Jet.OLEDB.4.0','Excel 8.0;database=" & CommonDialog1.FileName & "','select * from [sheet1$]' where 型号'型号'"

cnn.execute strsql
像这样改一下这两行代码试试看。
因为从EXCEL到SQLSERVER是很严格的,比较EXCEL方面数据类型要一致,要有字段名,不能为NULL等,可以先在SQL的查询分析器中先select一下openrowset的记录,可能同时要修改EXCEL中的数据格式等,至少直到在查询分析器中读取没有问题。
要花点时间琢磨呀。

以前我用openrowset读取过,不过在查询分析器中可以读取,但到VB中又有问题,
最后我放弃了这种作法,而改用OLEDB。但是在VB.NET中。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式