select * from [192.168.2.2].pubs.dbo.jobs出错 |
答題得分者是:careychen
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
我把我的code帖出来,请各位大大看看哪里出了问题,其中,button1能通过,button2和button3不能通过,不知错
在哪里: 第一步:先把自已电脑设一个ip,比如192.168.1.4 第二步:建立linkedserver,假设user=sa,password='' EXEC sp_addlinkedserver @server = '192.168.1.4', @srvproduct = N'SQL Server' EXEC sp_addlinkedsrvlogin @rmtsrvname = '192.168.1.4' , @useself = false, @rmtuser = 'sa', @rmtpassword = '' 下面是code(放一个ADOConnection1元件连接到pubs资料库上): unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Edit1: TEdit; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var server:string; begin server:='192.168.1.4'; adoquery1.close; adoquery1.SQL.Clear; adoquery1.SQL.add('select *'); adoquery1.SQL.add('from'); adoquery1.SQL.add('[' server ']'); adoquery1.SQL.add('.pubs.dbo.jobs'); adoquery1.ExecSQL; end; procedure TForm1.Button2Click(Sender: TObject); var server:string; begin server:='192.168.1.4'; adoquery1.Active:=false; adoquery1.close; adoquery1.SQL.Clear; adoquery1.SQL.add('select *'); adoquery1.SQL.add('from'); adoquery1.SQL.add('[' server ']'); adoquery1.SQL.add('.pubs.dbo.jobs'); adoquery1.Active:=true; end; procedure TForm1.Button3Click(Sender: TObject); var server:string; begin server:='192.168.1.4'; adoquery1.close; adoquery1.SQL.Clear; adoquery1.SQL.add('select *'); adoquery1.SQL.add('from'); adoquery1.SQL.add('[' server ']'); adoquery1.SQL.add('.pubs.dbo.jobs'); adoquery1.ExecSQL; adoquery1.First; end; end.
編輯記錄
luowy651 重新編輯於 2010-04-02 09:42:44, 註解 無‧
|
careychen
尊榮會員 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
其實您的第一個 Button1 他本身就錯了,只是你是丟了 ExecSQL 出去,但實際上他並沒有回傳,您誤認為他是成功的 第二和第三個命令也是錯誤的,只是你的第一和第二 Button 差在用 ExecSQL 和 Open 的方式不同而已, 但第三個 Button 的命令是錯誤的下法,沒有 open,只有 ExecSQL,怎麼會可以 First 呢? 所以產生回來的回報狀況也不同 總結,您不可以用本機 Server 當成連結伺服器
------
價值的展現,來自於你用哪一個角度來看待它!! |
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |