我写了一个存储过程:从EXCEL文件中读取数据,然后做进一步处理. 这个存储过程在查询分析器中能执行,但在Asp.net中去调用它时,出现如下错误:
已拒绝对 OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 的特殊访问。必须通过链接服务器来访问此提供程序。
但是如果我将连接数据库的用户设成具有system administrator时,却不会出现此错误, 可怜的是我的正式数据库是托管在别人服务器上,不给开system administrator的权限.
高手指教啊.
已拒绝对 OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 的特殊访问。必须通过链接服务器来访问此提供程序。
但是如果我将连接数据库的用户设成具有system administrator时,却不会出现此错误, 可怜的是我的正式数据库是托管在别人服务器上,不给开system administrator的权限.
高手指教啊.
解决方案 »
- discuz!nt中的tools和ui文件夹中的aspx和cs文件是怎么关联的?
- 大家帮我解释下~运算符的作用
- GridView 72般绝技(中4)
- 求 正则 得到内容 正在做采集程序
- 今天发现一个数据集的很奇怪的问题,不知道大家有没有解决办法
- GridView模板列里的用户控件属性问题
- 编写注释问题
- 请问DetailsView怎么用?(初学者)
- 微软的Duwamish7设计的数据访问层能不能使用nHibernate进行合理的搭配使用?请指教~
- 能不能不修改后台代码,就可以防止没登陆的用户直接通过URL来访问后台呢?谢谢
- 如何得到字符串"1=1 and 2=3"的值?即true还是false
- WEB状态栏的问题?
http://sz.luohuedu.net/xml/ShowDetail.asp?id=C673E2CD-3F1E-4919-8CE0-D69B894A0599
控制面板--管理工具--组件服务--我的电脑--DCOM配置--选中Microsoft Excel---属性--安全--访问权限--自定义--配置---添加ASPNET帐号,分配读写的权限..
我在前台中是用你那种方法将EXCEL数据预览出来了,但我不想在前台去遍历那些数据再保存到数据库去,因为还要建一个表,然后将表名传给存储过程去对数据进行特殊处理,我必须用存储过程处理数据的原因是必须将数据先保存到临时表中去,然后再从临时表中将一部分数据由纵向的变成横向的数据,总之是比较复杂的数据处理,我在存储过程中是用这种方法: SET @tmpTable='[##tmp' +convert(varchar(23),getdate(),121) + ']' if object_id('tempdb..' + @tmpTable) is not null
exec('drop table ' + @tmpTable) --存储从Excel导入的一列的数据
SET @singleColumnTable='[##tmp' +convert(varchar(23),getdate(),121) + '_2]' if object_id('tempdb..' + @singleColumnTable) is not null
exec('drop table ' + @singleColumnTable) --导入数据到@tmptable中
Exec('Select identity(int,1,1) as id,* into ' + @tmpTable + ' From OPENROWSET (''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;IMEX=1;HDR=YES;DATABASE='+@FileName + ''',sheet1$)')....进一步处理
这个存储过程有什么方法能让前台调用而不出现这个错误呢?:已拒绝对 OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 的特殊访问。必须通过链接服务器来访问此提供程序。
用你的方法去读EXCEL中数据时为什么只能读出数值型数据,比如 A1单元格中存的内容是"Name",A2存的是"123",A3中存的是"235"...那么读出来A1的内容为空.
我忽略了HDR=Yes;IMEX=1这两个参数.