coldfusion動態鏈結選擇不同的資料庫。

2021-08-25 16:31:41 字數 927 閱讀 1565

coldfusion的cfquery裡,使用在admin裡定義好的datasource很方便。但是如果想直接訪問不是在datasource裡定義好的預設資料庫。

例如, 如果每個使用者的資料庫是不同的,就會有這個問題。不能在寫如下的語句。會造成錯誤的。

注意:這個寫法有可能導致你的程式出錯。

<cfquery

name="abc"datasource="myds">

use database1

select * from products

cfquery>

這時,myds裡的資料庫就會被改變。直到你改過來或者服務重啟動才恢復。

你可以使用以下2中方法:

1、使用sql語句的帶資料庫的表示方法。如例子:

<cfquery

name="abc"datasource="myds">

select * from database1..products

cfquery>

2、使用cfquery的connectionstring。只要把鏈結串的指向的資料庫就可以。但是這個方法,有可能在出錯的時候,讓別人看到資料庫的密碼。當然,這個connectionstring是放在session裡,在客戶登入後就生成。

<cfquery

name="abc"connctionstring="#session.你的動態connectionstring#">

select * from database1..products

cfquery>

Swift供選鏈結

函式是執行特定任務的 自包括塊。給定乙個函式名稱標識,當執行其任務時就能夠用這個標識來進行 呼叫 swift的統一的功能語法足夠靈活來表達不論什麼東西,不管是甚至沒有引數名稱的簡單的c風格的函式表示式,還是須要為每乙個本地引數和外部引數設定複雜名稱的objective c語言風格的函式。引數提供預設...

動態鏈結 靜態鏈結

在linux系統中,ld鏈結器將彙編器編譯出來的目標檔案和靜態庫里的.a檔案鏈結生成可執行檔案。靜態庫中的.a檔案的 會在靜態鏈結過程中新增到可執行檔案中,可執行檔案會變得很大。與靜態鏈結不同,linux系統的ld鏈結器會將動態庫.so檔案進行符號重定位生成可執行檔案,動態庫.so檔案並不新增到可執...

靜態鏈結 動態鏈結

如果函式庫的乙份拷貝是可執行檔案的物理組成部分,那麼我們稱之為靜態鏈結。如果可執行檔案只是包含了檔名,讓載入器在執行時能夠尋找程式所需的函式庫,那麼稱為動態鏈結。即根據函式庫是不是可執行檔案的組成部分區分靜態鏈結和動態鏈結。1 可執行檔案的體積小。2 雖然執行速度稍慢,但是能更加有效的利用磁碟空間,...