这个SQL语句错在哪了?

xx_88 2009-06-17 10:27:11

UPDATE [Product] SET [Data_No] = access_product.[Data_No], R1 = access_product.R1, R2 = access_product.R2,
R3 = access_product.R3, R4 = access_product.R4, R5 = access_product.R5, R6 = access_product.R6,
B1 = access_product.B1
FROM Lottery sql_product RIGHT JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'D:\Work\DataBase\Product.mdb';'admin';'',[Lottery]) access_product
ON sql_product.[Data_No] = access_product.[Data_No]
WHERE sql_product.[Data_No] IS NULL


服务器: 消息 7202,级别 11,状态 2,行 1
在 sysservers 中未能找到服务器 'Lottery'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。

如果改成如下,就是对的,真不明白了

SELECT access_product.[Data_No], access_product.[R1], access_product.[R2], access_product.[R3],
access_product.[R4], access_product.[R5], access_product.[R6], access_product.[B1],
sql_product.[Data_No], sql_product.[R1], sql_product.[R2], sql_product.[R3],
sql_product.[R4], sql_product.[R5], sql_product.[R6], sql_product.[B1]
FROM product sql_product RIGHT JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'D:\Work\DataBase\product.mdb';'admin';'',[product]) access_product
ON sql_product.[Data_No] = access_product.[Data_No]
WHERE sql_product.[Data_No] IS NULL


...全文
30 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xx_88 2009-06-17
  • 打赏
  • 举报
回复
回复过该问题的请到
http://topic.csdn.net/u/20090617/11/ad341e32-1fa0-45fa-a42e-dcd4821c20df.html?735
继续帮帮我,谢谢!~!
xx_88 2009-06-17
  • 打赏
  • 举报
回复

SELECT access_product.[Data_No], access_product.[R1], access_product.[R2], access_product.[R3],
access_product.[R4], access_product.[R5], access_product.[R6], access_product.[B1],
sql_product.[Data_No], sql_product.[R1], sql_product.[R2], sql_product.[R3],
sql_product.[R4], sql_product.[R5], sql_product.[R6], sql_product.[B1]
FROM product sql_product RIGHT JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'D:\Work\DataBase\product.mdb';'admin';'',[product]) access_product
ON sql_product.[Data_No] = access_product.[Data_No]
WHERE sql_product.[Data_No] IS NULL

这样是有数据啊,所以我就觉得奇怪!!
(所影响的行数为 0 行)
ks_reny 2009-06-17
  • 打赏
  • 举报
回复

select
access_product.[Data_No], R1 = access_product.R1, R2 = access_product.R2,
R3 = access_product.R3, R4 = access_product.R4, R5 = access_product.R5, R6 = access_product.R6,
B1 = access_product.B1
FROM Lottery sql_product RIGHT JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'D:\Work\DataBase\Product.mdb';'admin';'',[Lottery]) access_product
ON sql_product.[Data_No] = access_product.[Data_No]
WHERE sql_product.[Data_No] IS NULL

這樣有數據嗎?
xx_88 2009-06-17
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 gaojier1000 的回复:]
sql与access的远程连接没有做过,建议你在服务器端添加链接服务器试试,应该可以解决这个问题。
[/Quote]

但是我不明白的是,在不添加链接服务器,也能在SQL查询分析器用SELECT查询access数据,同样用UPDATE怎么就不可以了呢....?
  • 打赏
  • 举报
回复
sql与access的远程连接没有做过,建议你在服务器端添加链接服务器试试,应该可以解决这个问题。
xx_88 2009-06-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ks_reny 的回复:]
引用 6 楼 ks_reny 的回复:
SQL code
------------------- try
UPDATE access_product SET [Data_No] = access_product.[Data_No], R1 = access_product.R1, R2 = access_product.R2,
R3 = access_product.R3, R4 = access_product.R4, R5 = access_product.R5, R6 = access_product.R6,
B1 = access_product.B1
FROM Lottery sql_product RIGHT JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'D:\W…
[/Quote]
这样是对了,但怎么更新的数据为0呢?
(所影响的行数为 0 行)
明明是查到有数据的啊
xx_88 2009-06-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ai_li7758521 的回复:]
前面的也用select试试,看看有没有报错
[/Quote]

没有报错啊
仙道彰 2009-06-17
  • 打赏
  • 举报
回复
没有[Product]表
xx_88 2009-06-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chuifengde 的回复:]
SQL codeUPDATE [sql_Product] SET ...??
[/Quote]
这样是对了,但怎么更新的数据为0呢?
(所影响的行数为 0 行)
明明是查到有数据的啊
ks_reny 2009-06-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ks_reny 的回复:]
SQL code
------------------- try
UPDATE access_product SET [Data_No] = access_product.[Data_No], R1 = access_product.R1, R2 = access_product.R2,
R3 = access_product.R3, R4 = access_product.R4, R5 = access_product.R5, R6 = access_product.R6,
B1 = access_product.B1
FROM Lottery sql_product RIGHT JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'D:\Work\DataBase\Product.mdb';'adm…
[/Quote]
或者

UPDATE sql_product SET [Data_No] = access_product.[Data_No], R1 = access_product.R1, R2 = access_product.R2,
R3 = access_product.R3, R4 = access_product.R4, R5 = access_product.R5, R6 = access_product.R6,
B1 = access_product.B1
FROM Lottery sql_product RIGHT JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'D:\Work\DataBase\Product.mdb';'admin';'',[Lottery]) access_product
ON sql_product.[Data_No] = access_product.[Data_No]
WHERE sql_product.[Data_No] IS NULL

不明白你要更新那個表
ai_li7758521 2009-06-17
  • 打赏
  • 举报
回复
前面的也用select试试,看看有没有报错
ks_reny 2009-06-17
  • 打赏
  • 举报
回复

------------------- try
UPDATE access_product SET [Data_No] = access_product.[Data_No], R1 = access_product.R1, R2 = access_product.R2,
R3 = access_product.R3, R4 = access_product.R4, R5 = access_product.R5, R6 = access_product.R6,
B1 = access_product.B1
FROM Lottery sql_product RIGHT JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'D:\Work\DataBase\Product.mdb';'admin';'',[Lottery]) access_product
ON sql_product.[Data_No] = access_product.[Data_No]
WHERE sql_product.[Data_No] IS NULL
chuifengde 2009-06-17
  • 打赏
  • 举报
回复
UPDATE [sql_Product] SET ...??
chuifengde 2009-06-17
  • 打赏
  • 举报
回复
[Product] 这个表没有哇
xx_88 2009-06-17
  • 打赏
  • 举报
回复
服务器: 消息 7202,级别 11,状态 2,行 1
在 sysservers 中未能找到服务器 'product'。请执行 sp_addlinkedserver 以将服务器添加到 sysservers。
winstonbonaparte 2009-06-17
  • 打赏
  • 举报
回复

UPDATE [Product] SET [Data_No] = access_product.[Data_No], R1 = access_product.R1, R2 = access_product.R2,
R3 = access_product.R3, R4 = access_product.R4, R5 = access_product.R5, R6 = access_product.R6,
B1 = access_product.B1
FROM Lottery sql_product RIGHT JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'D:\Work\DataBase\Product.mdb';'admin';'',[/*Lottery把这个改成后面这个呢?*/product]) access_product
ON sql_product.[Data_No] = access_product.[Data_No]
WHERE sql_product.[Data_No] IS NULL
winstonbonaparte 2009-06-17
  • 打赏
  • 举报
回复
一个是update语句,一个是select语句?
这怎么比较

34,588

社区成员

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

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