openrowset問題

cyxxde 2004-09-17 09:59:09
select * from openrowset('MSDASQL','dsn=access數據庫的dsn','select * from access表名')
執行出錯提示如下
One or more properties could not be set on the query for OLE DB provider 'MSDASQL'. The provider could not support a required property.
[OLE/DB provider returned message: 多重步驟 OLE DB 操作發生錯誤。請檢查每一個可用的 OLE DB 狀態值。尚未完成任何操作。]
該數據庫有多人使用。
請問是什麼問題。
...全文
226 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyxxde 2004-09-21
  • 打赏
  • 举报
回复
再頂!~~~~~~~~~
yjdn 2004-09-20
  • 打赏
  • 举报
回复
从access 导入
select * from openrowset('Microsoft.Jet.OLEDB.4.0',
'e:\accessSQL\sitedase.mdb';'admin';'',表名) --只需要改表名即可
------------------------------------
补充说明一下:这个在officeXP中运行成功,在office2000和2003都运行失败
cyxxde 2004-09-20
  • 打赏
  • 举报
回复
頂!~
cyxxde 2004-09-20
  • 打赏
  • 举报
回复
to yjdn(无尽天空)
這個函數應該跟office的版本無關吧? 因為我在別的機上是可以執行的,但隻有在本機上 不行。而別的機上的office版本都是2000的。
yown 2004-09-18
  • 打赏
  • 举报
回复
检查DSN的配置是否正确
cyxxde 2004-09-18
  • 打赏
  • 举报
回复
to hdhai9451(※★山,快馬加鞭未下鞍...☆※)
執行openrowset都出錯啊,,而使用opendatasource 時,當select 後不帶*時會出錯。
提示為:

One or more properties could not be set on the query for OLE DB provider 'microsoft.Jet.OLEDB.4.0'. The provider could not support a required property.
cyxxde 2004-09-18
  • 打赏
  • 举报
回复
而使用 select * from opendatasource('Microsoft.Jet.OLEDB.4.0','data source=路徑')...表名
這個函數,當select 後面不帶通配符*時也出錯,即select 字段1 from opendatasource(....)...表名

同樣,在別的機上也可以執行而不會出錯。
誰知道原因啊??
Andy__Huang 2004-09-18
  • 打赏
  • 举报
回复
這樣的語句按這個格式寫都可以。

1. select * from OPENDATASOURCE( 'Microsoft.Jet.OLEDB.4.0','Data Source=e:\north.mdb;User ID=Admin;Password=')...supply
2. select * from openrowset('Microsoft.Jet.OLEDB.4.0',
'e:\north.mdb';'admin';'',supply)
3. select * from openrowset('Microsoft.Jet.OLEDB.4.0',
'e:\north.mdb';'admin';'','select * from supply where 供應商編號>10')
cyxxde 2004-09-18
  • 打赏
  • 举报
回复
to yjdn(无尽天空)
直接讀也不行,也是出現上面的那個錯誤。
cyxxde 2004-09-18
  • 打赏
  • 举报
回复
to yown(yong)
DSN是沒問題的。
同樣的語句在別的機上可以執行。

還有,我是使用sa用戶執行的,所以應該有足夠高的權限。
cyxxde 2004-09-18
  • 打赏
  • 举报
回复
我是在sql server 7.0 打上sp4補丁下運行的,在別的機上又可以執行。難道是裝了sp4的問題?很急的問題,分數不夠可以再加。
yjdn 2004-09-17
  • 打赏
  • 举报
回复
为什么还要通过dsn呢?
直接读不行吗?
从access 导入
select * from openrowset('Microsoft.Jet.OLEDB.4.0',
'e:\accessSQL\sitedase.mdb';'admin';'',表名) --只需要改表名即可
zjcxc 元老 2004-09-17
  • 打赏
  • 举报
回复
你在那里执行这个语句的? 首先检查一下你的dsn配置是否正确.

这样的写法是没有错的.

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧