问题描述
先用FileUpload.SaveAs方法将文件保存在服务器的一个文件夹下在用OleDbDataAdapter.Fill方法将excel读入到dataset最后循环dataset将数据写入oracle在我本地运行还没有问题放到服务器上后用别的机器访问就出错了,走到fill方法时提示未定义的错误部分代码如下:If(FileUpload.HasFile)ThenTryFileUpload.SaveAs(Server.MapPath("upload")+"\cp"+Me.txt_menustart.Value+".xls")CatchexAsExceptionlab_upload.Text="发生错误:"+ex.Message.ToString()EndTryElselab_upload.Text="没有选择要上传的文件!"ExitSubEndIfDimstrConnAsString="Provider=Microsoft.Jet.OLEDB.4.0;"+"DataSource="+Server.MapPath("upload")+"cp"+Me.txt_menustart.Value+".xls;"+"ExtendedProperties='Excel8.0;HDR=NO;IMEX=1'"DimconnAsOleDbConnection=NewOleDbConnection(strConn)'conn.Open()DimstrExcelAsString="SELECT*FROM[Sheet1$]"DimmyCommandAsOleDbDataAdapter=NewOleDbDataAdapter(strExcel,strConn)DimdsAsDataSet=NewDataSet()myCommand.Fill(ds,"Sheet1")红色出错了
解决方案
解决方案二:
难道是我服务器上的oleDb出问题了?
解决方案三:
我服务器上对应的目录下该文件已经上传了,下面的读取为什么出问题呢?
解决方案四:
帮帮给看看什么问题,或者有什么解决办法
解决方案五:
自己顶~
解决方案六:
自己顶~
解决方案七:
我估计是安全问题.看看服务器上的或你所说的别的机器上的.netframeworkconfiguration->codegroupsetting->permissionset设置成FULLCONTROL试试
解决方案八:
'conn.Open()语句注掉了,DimconnAsOleDbConnection=NewOleDbConnection(strConn)conn对象也没用,Excel表不会被打开,没有数据,就会出错.
解决方案九:
补足:不会是权限问题,都可以上传,应就有读写权限,
解决方案十:
7楼说的没错:'conn.Open()DimstrExcelAsString="SELECT*FROM[Sheet1$]"你的conn没有打开,所以不能操作!还有你试试这样,不指定表名,myCommand.Fill(ds)
解决方案十一:
如果conn.open()不被注释掉,在执行这句的时候就出错了是未定义的错误错误代码为:2147467259
解决方案十二:
如果是我的代码有问题,那为什么在我本地机器上又可以上传又可以检索数据。服务器上就只能上传,在检索的时候就出错了呢?
解决方案十三:
员工想通过web将一个excel文件中的数据导入到oracle中又什么别的比较好的办法吗?
解决方案十四:
我顶~
解决方案十五:
打开了DB连接,最后也应该关闭DB连接:Conn.close()
解决方案:首先,在你自己的机器上没有问题我觉得代码出异常的情况就不存在了。你最好检查一下其他机器是不是有相同的组件,如果没有配置好。然后用你在你本机上没有问题的数据再去其他机器上测试。
解决方案:还没有解决吗?如果在本地可以,而在服务器上不行的,就要考虑到文件路径跟权限的问题了,如果你没有权限的话,是不保存储文件的!还有这里:FileUpload.SaveAs(Server.MapPath("upload")+"\cp"+Me.txt_menustart.Value+".xls")vb.net里面应该不用转义字符的,你的"\cp"用"cp"就行了,当然,关键问题不一定出在这里!你先试试!
解决方案:还是不行既然服务器上出现了我要上传的文件,说明我有权限在服务器上读写但是为什么随后我用oledb打开这个excel就出问题了呢?应该不是我关闭连接的问题,因为刚刚走到open的时候就出错了麻烦各位了!
解决方案:把代码搬上来大家看看If(FileUpload.HasFile)ThenTryFileUpload.SaveAs(Server.MapPath("upload")+"\cp"+Me.txt_menustart.Value+".xls")Me.lab_upload.Text="文件上传成功!"CatchexAsExceptionlab_upload.Text="发生错误:"+ex.Message.ToString()EndTryElseMe.lab_require.Text="*没有选择要上传的文件!"ExitSubEndIfDimdsAsDataSet=NewDataSet()DimstrConnAsString="Provider=Microsoft.Jet.OLEDB.4.0;"+"DataSource="+Server.MapPath("upload")+"\cp"+Me.txt_menustart.Value+".xls;"+"ExtendedProperties='Excel8.0;HDR=Yes;IMEX=1;'"DimconnAsOleDbConnection=NewOleDbConnection(strConn)'DimstrExcelAsString="SELECT*FROM[Sheet1$]"DimcommandAsOleDbCommand=NewOleDbCommand("SELECT*FROM[Sheet1$]")command.CommandType=CommandType.Textconn.Open()command.Connection=connDimmyadapterAsOleDbDataAdapter=NewOleDbDataAdapter()myadapter.SelectCommand=commandmyadapter.Fill(ds,"Sheet1")红色出错,ErrorCode=-2147467259
解决方案:在本机打开和在服务器上打开本来就是不一样的.网络通信协议有关.具体的不清楚.
解决方案:这个问题没有解决方案吗?我也正好遇到啊!!