demoshop

demo, trying to be the best_

LINQ to SQL 如何連結多個資料庫

  • 2011-02-05 14:23:17
  • 6796

前些日子 demo 接手了一個小網站,該網站的資料庫分門別類(因為是舊有的龐大系統)因此即使只是一點點小功能還是可能需要到其他的資料庫裡面查詢資料,基於 ORM 的好處直接開啟 dbml 把需要的資料表拉近來後我就開始開發了,開發完畢上正式機後客戶反應無法連結到資料庫,難道說事情沒有那麼單純嗎?

demo廢言因為預設拉近來的資料表的「來源」都會是dbo.因此當客戶的表不一定都是 dbo 的時候就會發生無法連結的情況了,修改方式很簡單,開啟 dbml 對於要調整的資料表選取後開啟「屬性視窗」(F4)

可以看到來源 就是 dbo 修改為客戶提供的正確資訊 如下圖

存檔重新編譯後就可以正常連結了。


注意事項在拉不同資料庫中的資料表時系統會提示連接字串不同,這是可以直接按下確定的

但是因為這樣的原因,除非你的資料庫連線帳號密碼是所有的資料庫都可以連結有權限不然就必須要使用程式來指定他的連結字串

protected DataContext db =
new DataContext(WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

protected DataContext dbShare =
new DataContext(WebConfigurationManager.ConnectionStrings["ShareConnectionString"].ConnectionString);

 

回應討論