在线散分帖,使用Osql执行sql脚本不起作用,请高手指点!!
楼主wglotn(pi6pi6)2002-11-29 09:20:34 在 MS-SQL Server / 基础类提问
例如:
use master
go
exec sp_addlinkedserver
'wglserver',
N'SQL Server'
go
exec sp_addlinkedsrvlogin 'wglserver','false','sa','user245','u ser245'
这些语句放到查询分析器可执行,
(select * from wglserver.test245.dbo.tabstu)
但把上面的语句放到某33.sql文件中,
生成一个22.bat文件内容
如: D:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql -S wgl -U sa -P sa -I C:\33.sql
并执行之,后在查询分析器中执行,
(select * from wglserver.test245.dbo.tabstu)有错误消息“服务器: 消息 7202,级别 11,状态 2,行 1
在 sysservers 中未能找到服务器 'wglserver'。请执
行 sp_addlinkedserver 以将服务器添加到 sysservers。”
请问如何解决?
把此句
D:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql -S wgl -U sa -P sa -I C:\33.sql 放到查询分析器中执行有语法错误,错在哪呢?
问题点数:100、回复次数:16Top
1 楼wglotn(pi6pi6)回复于 2002-11-29 09:37:34 得分 0
应该有朋友知道的吧,twht呢Top
2 楼CoolSlob()回复于 2002-11-29 09:41:45 得分 0
你确定你的路径!!!
改成这样试试:
D:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql -S wgl -U sa -Psa -I"C:\33.sql"
你就把上面的命令到DOS提示符下执行,看看返回什么消息!
//快点,我实时跟踪这个问题:)好人做到底。Top
3 楼CoolSlob()回复于 2002-11-29 09:43:52 得分 0
这样,都不要空格!
D:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql -S wgl -Usa -Psa -I"C:\33.sql"
=========================================
(国)灌字准号:2002-008--001
╔╦╗╔╦╗╔╦╗╔╦╗
╠灌╣╠水╣╠许╣╠可╣国务院灌水办(签发)
╚╩╝╚╩╝╚╩╝╚╩╝ CoolSlob专用
=========================================Top
4 楼CoolSlob()回复于 2002-11-29 09:44:32 得分 0
我faint~~
D:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql -S wgl -Usa -Psa -i"C:\33.sql" <--------这个i是小写的!!你用了大写!Top
5 楼wglotn(pi6pi6)回复于 2002-11-29 09:53:14 得分 0
to CoolSlob(司令曰:人字的结构就是相互支持) :
哎呀,对啦,i 要小写,Top
6 楼CoolSlob()回复于 2002-11-29 09:54:12 得分100
快结帐去吧:)
我要升到第92名:)Top
7 楼wglotn(pi6pi6)回复于 2002-11-29 10:08:41 得分 0
好事做到底啦
1、为什么我把
D:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql -Swg l -U sa -Psa -i "C:\33.sql" 放到查询分析器中就不行呢
2、我把
D:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql -Swg l -U sa -Psa -i "C:\33.sql" 放我22.bat中执行仍无作用?!
Top
8 楼CoolSlob()回复于 2002-11-29 10:18:02 得分 0
D:\Program Files\Microsoft SQL Server\80\Tools\Binn\Osql -Swg l -U sa -Psa -i "C:\33.sql"
这不是SQL语句,放到查询分析器中怎么可以用呢??
这好比你在执行一个DOS命令,后面的全都是参数!
如果你真的要在查询分析器里执行。
那你可以当成调用外部命令来执行,如:
xp_cmdshell '这里填上面那个语句'
我只能说这么多了,再说的话就影响我在水园接分了,hoho:)Top
9 楼wglotn(pi6pi6)回复于 2002-11-29 10:25:29 得分 0 hoho:) 你牛比啦,多说点多给分嘛,崇拜你啦Top
10 楼CoolSlob()回复于 2002-11-29 10:28:34 得分 0
不用了,我离开这里二个月回来,发现有了许多新面孔,崇拜他们去吧,
我走了,呵呵,以后每天回来回答一个问题hehe:)Top
11 楼wglotn(pi6pi6)回复于 2002-11-29 10:30:40 得分 0 thank you Top
12 楼wglotn(pi6pi6)回复于 2002-11-29 10:42:11 得分 0
我要把我的22.bat 或22.exe文件做出来,哪位朋友给我提示Top
13 楼CoolSlob()回复于 2002-11-29 11:00:51 得分 0
楼主,我说你这人真是的,问题都出来了,你还做什么呀~~
22.bat不是好了吗?
22.exe你自己用VB/Delphi其它语言做一下也出来了!!
VB用Shell
Delphi、VC用ShellExecute!!
我还一直等这100分呢,哎~~~Top
14 楼wglotn(pi6pi6)回复于 2002-11-29 11:17:35 得分 0
问题是22.bat执行没起作用
后在查询分析器中执行,
(select * from wglserver.test245.dbo.tabstu)有错误消息“服务器: 消息 7202,级别 11,状态 2,行 1
在 sysservers 中未能找到服务器 'wglserver'。请执
行 sp_addlinkedserver 以将服务器添加到 sysservers。”