線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2588
推到 Plurk!
推到 Facebook!

請問如何呼叫另外一台DB主機裏的db.function?

尚未結案
ying0515
中階會員


發表:90
回覆:168
積分:81
註冊:2003-01-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-27 18:45:55 IP:61.218.xxx.xxx 未訂閱
請問如何呼叫另外一台DB主機裏的db.function?
環境MS SQL2000,在A_PC中某個Table的Trigger中
呼叫另外B_PC的database function(有傳參數)?
如下可是語法有誤!
select * from
   OPENDATASOURCE('SQLOLEDB',
                  'Data Source=192.168.1.1;User ID=sa;Password=sa'
                 ).master.dbo.get_data('4','2','2005/01/07 08:00:00')     
發表人 - ying0515 於 2005/01/27 18:56:21
------
Delphi
rexchiu
中階會員


發表:14
回覆:88
積分:70
註冊:2002-03-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-01 09:56:11 IP:220.130.xxx.xxx 未訂閱
以下從,SQL Server線上叢書節錄出來的資料! 希望對你有所幫助!
OPENDATASOURCE
  新增資訊 - SQL Server 2000 SP3。    以不使用連結的伺服器名稱的方式,提供特定連線資訊作為包含四個部份的物件名稱的一部份。    語法
OPENDATASOURCE ( provider_name, init_string )    引數
provider_name    註冊為用來存取資料來源的 OLE DB Provider 的 PROGID 名稱。provider_name 為 char 資料型別且沒有預設值。    init_string    傳送到目標提供者 IDataInitialize 介面的連線字串。提供者字串語法是根據由分號隔開的關鍵字-值組,亦即 "keyword1=value; keyword2=value"。    基本的語法定義在 Microsoft® Data Access SDK。請參閱提供者的文件,查看支援的特定關鍵字-值組。以下資料表列出 init_string 引數中最常使用的關鍵字。    關鍵字 OLE DB 屬性 有效值與描述 
Data Source DBPROP_INIT_DATASOURCE 要連線的資料來源名稱。不同的提供者以不同的方式解譯此名稱。對於 SQL Server OLE DB Provider,這指出伺服器的名稱。對於 Jet OLE DB Provider,這指出 .mdb 檔或 .xls 檔的完整路徑。 
Location DBPROP_INIT_LOCATION 要連線的資料庫位置。 
Extended Properties DBPROP_INIT_PROVIDERSTRING 特定提供者連線字串。 
Connect timeout DBPROP_INIT_TIMEOUT 連線嘗試失敗的逾時值。 
User ID DBPROP_AUTH_USERID 連線使用的使用者識別碼。 
Password DBPROP_AUTH_PASSWORD 連線使用的密碼。 
Catalog DBPROP_INIT_CATALOG 連線至資料來源時的初始或預設資料庫目錄的名稱。     備註
只有 DisallowAdhocAccess 登錄選項被明確設定為 0 時,OPENDATASOURCE 才可以用來從 OLE DB 資料來源存取遠端資料。尚未設定此選項時,預設的行為不會允許 ad hoc 存取。    OPENDATASOURCE 函數可以用在與連結伺服器名稱相同的 Transact-SQL 語法位置。因此,OPENDATASOURCE 可以作為 SELECT、INSERT、UPDATE 或 DELETE陳述式中,參考資料表或檢視表名稱或是參考 EXECUTE 陳述式中預存程序的四個部份名稱的第一部份。執行遠端預存程序時,OPENDATASOURCE 應參照另一個 SQL Server。 OPENDATASOURCE 不接受變數作為其引數。    就像 OPENROWSET 函數,OPENDATASOURCE 應只參考不常存取的 OLE DB 資料來源。定義經常存取的資料來源之連結伺服器。OPENDATASOURCE 或 OPENROWSET 都不提供連結伺服器定義的所有功能,例如安全性管理與查詢資料庫目錄資訊的功能。必須在每次呼叫 OPENDATASOURCE 時,提供所有的連線資訊,包括密碼。    範例
以下範例從其他 SQL Server 執行個體的資料表存取資料。    SELECT   *
FROM      OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=ServerName;User ID=MyUID;Password=MyPass'
         ).Northwind.dbo.Categories    以下範例藉由 OLE DB Provider for Jet 來查詢 Excel 活頁簿。    SELECT * 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions    
Best Regards, Rex Chiu
------
Best Regards,
Rex Chiu
系統時間:2024-06-24 20:05:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!