需要做什麼才能在Delphi 7應用程序中啓用池?我的連接字符串是:如何在Delphi 7應用程序中啓用OLEDB資源池
提供商= SQLOLEDB.1;初始目錄=%s的;數據源=%s的;密碼=%s的;用戶ID =%s的; OLE DB服務= -1
我可以通過查看SQLServer:GeneralStatistics UserConnections性能計數器來判斷連接池是否實現 - 當我的應用程序運行時,它會波動很大。通過連接池,我希望它能夠達到穩定狀態。另外,我看到登錄/秒和註銷/秒計數器都非常高 - 如果使用連接池,則註銷/秒將在零或接近零。
在尋找,我發現這篇文章的資源池:
http://www.ddj.com/database/184416942
這表明,「如果你在OLEDB SDK(或COM)工作水平使用ATL,你要多寫一些代碼「(除了將OLE Db Services = -1添加到連接字符串)以獲取連接池:
CDataSource db; CDBPropSet dbinit(DBPROPSET_DBINIT);
dbinit.AddProperty(DBPROP_AUTH_USERID,「MyName」); dbinit.AddProperty(DBPROP_INIT_DATASOURCE,「MyServer); dbinit.AddProperty(DBPROP_INIT_CATALOG,「MYDB); dbinit.AddProperty(DBPROP_INIT_PROMPT,(短)4); dbinit.AddProperty(DBPROP_INIT_LCID,(長)1033); dbinit.AddProperty(DBPROP_INIT_OLEDBSERVICES,(長)DBPROPVAL_OS_ENABLEALL); HRESULT HR = db.OpenWithServiceComponents(_T(「SQLOLEDB」),&使用dbinit);
不幸的代碼是希臘給我,我不知道如何翻譯,爲德爾福(或者其甚至是必要的)。
我也注意不要更改連接字符串。有關我還需要做什麼來啓用資源池的任何建議?
但是,連接池的功能不是讓代碼打開和關閉連接,而不實際關閉與服務器的連接嗎?如果我在IIS中運行相同的代碼,我會看到它創建了2個連接到Db服務器的連接,該連接持續了應用程序的生命週期。 – 2009-04-12 19:16:46