|
Well,
In all the threads, the database connection is opened and closed only once and the threads are alive as long as the application is alive.
In this case, will my application work faster than an application which has only a single database connection object?
I am asking this because in order to serialize a single database connection between the multiple threads would require mutex (correct me if I am wrong) which may degrade the performance?
Do you foresee any problem (esp. performance degradation) in case I use multiple connection objects?
Regds,
Maha
|
|
|
|
|
Depending on the type of database connection object used there can be deadlock problems.
In the past I have used multiple threads with ADO each having its own database connection. In which I experienced deadlock problems within the ADO code (which is not under my control). I switched the system to a single connection and serialised access to get over this.
Saying that, this may not be a problem any longer. Just bear it in mind when you are developing.
To answer your question, theoretically it will be more efficient for each thread to have its own connection.
Hope that helps with your descision.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Williams (Little Britain)
|
|
|
|
|
Hi.
Prehaps it would make more sense to have a 'manager' from whom you request access, so that if you require a fourth or more thread(s) then the scaling issue is not a problem.
James.
|
|
|
|
|
Yes, that is basically what I have with the serialised access.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Williams (Little Britain)
|
|
|
|
|
Thanks for your help.
I still have a small query, What do you generally prefer for connecting to Database, I use the CDatabase object to connect with the SQL server and I am just not able to avoid the deadlocks in both cases, that is single connection object or multiple connection objects.
I seem to be getting this problem when a thread is executing a query and the SQL server goes down.
Any suggestions?
Thanks a lot,
Mahadevan.
|
|
|
|
|
Hi everyone, especialy those nice gents who actualy answer the questions!
( Ladies? )
I know that you can #define fileName "myFile.txt" a string in the globals area, and when you need to you can stream.open(fileName) so you wont have to write the file name every time you open a stream.
My question is this can the same logic be used to define the actual stream for example #define ifstream inFileStream so that I wont have to declare the streams inside functions that need to use them. So that the only line relating to a stream in the function would be inFileStream.open(fileName) . This should also remove the need to pass the streams to functions since I will be able to open and close them any where any time.
Thanks in advance!
|
|
|
|
|
No. #define causes simple text subsititution before actual compilation. ifstream.open("myFile.txt") isn't valid C++ syntax.
|
|
|
|
|
Hi everybody!
I wan to post some datas to asp page.
How can i do this?Can u give examples?
Please help me!
Thanks...
|
|
|
|
|
|
this is not the place 2 post this. u shud have done it in asp.net column.
btw what xactly u need, r u a beginr, u just need some data 2 be posted to the asp page on the server? if so <form> - </form> in html will do.
otherwise if u need some data to be posted to an asp page on the server thru a non-explorer client app.. then use the XMLHTTP class provided with msxml.dll. Load ur data into an xml dom, call the open method of xmlhttp by passing the url of the asp page, and finally call the send method of xmlhttp by passing the dom object which loaded with ur data to be posted.
rgds...mil10.
|
|
|
|
|
I have an application that is written vc++.It displays system informations and i want to post this information to asp page, server.
How can i do this?
Thanks...
|
|
|
|
|
ok, then its better u go 4 XMLHTTP. go thru some sample prgms fo xmlhttp methods Open and Send .
rgds..mil10
|
|
|
|
|
Hi,
From what I understand you want to send data to an asp page through the query string from a C++ application, right?
If that is the case then use the class CInternetSession. You will find the OpenURL() method of this class useful in sending the data to the asp page through the query string.
Regards,
Mahadevan.
|
|
|
|
|
how does the schedule task in windows work?
|
|
|
|
|
|
what is the signal that goes to all the applications on log off and how do i handle it? whenever the system logs off, all the application gets killed. is there a way so as not to kill the application
|
|
|
|
|
chk out WM_QUERYENDSESSION and WM_ENDSESSION
rgds...mil10
|
|
|
|
|
As soon as I add this line to the resource file:
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "res\Wcpm.manifest"
as recommended by an MSDN article in order to get XP visual styles, the CEditView in the application starts showing rubbish characters whenever a text file is opened and displayed in it.
All dialog controls and whatnot change to the XP visual style just fine, just this crazy CEditView behaviour also starts happening.
I suspect its something to do with the fact that CEditView directly manipulates the hosted edit control's buffer and doesn't go through SetWindowText or ReplaceSel or any of those functions to display text.
Mighty annoying. Anyone come across this before?
|
|
|
|
|
Hi, I will like to open a *.jpg file using iexplore.exe in my program. I tried to do this using
CreateProcess("...\\IEXPLORE.exe", "pic.jpg", .....) but it doesn't open the pic.jpg but displays the default homepage instead. Any suggestion on how I can get it done properly? Thanks.
|
|
|
|
|
|
Hi,
I'm Using IWinHttpRequest in my (Console)Application to connect to a web server.
If I change the System date beyond year 2005 I 'm not able to connect to the
server.
OS : Win 2000 Professional
SP : 3
Is there any date restriction on winHttp / the SP 3 of Win 2000 Professional?
Can Anyone help me on this!
Thanks and Regards,
thiru
|
|
|
|
|
Hi
I want to Read and write to USB port from VC++.
I want to know how to use the inbuilt USB device driver.
for e.g
If i want to create a file using createfile function then
what service shall i specify in the first argument.
Thanx in advance
|
|
|
|
|
I got XML File,
it looks like this:
<br />
<?xml version="1.0" encoding="windows-1251" ?> <br />
- <Данные><br />
- <Справочники><br />
- <Name Group="Спиртные напитки"><br />
- <Name Group="бальзам"><br />
- <Name Group="бальзам Биос"><br />
<Name Code="Казахский_0.25_л" SMTH="бальзам Биос Казахский 0.25 л" SMTH1="Есть" МелкОптЦена="111" ОптЦена="0" РознЦенра="115" /> <br />
<Name Code="Казахский_0.5_л" SMTH="бальзам Биос Казахский 0.5 л" SMTH1="Есть" МелкОптЦена="200" ОптЦена="0" РознЦенра="206" /> <br />
</Реквизит><br />
</Реквизит><br />
</Справочники><br />
</Данные><br />
And i want to get data (Group,Code, SMTH,SMTH1......). But i don't know how to get them. I Use msxml.dll and interfaces : MSXML::IXMLDOMDocumentPtr, MSXML::IXMLDOMElementPtr...
|
|
|
|
|
Something wrong with writing XML code here
In other words:
<Name Group="Something">
<Name Code="1234" SMTH="asdf" SMTH1="gd">
How to get data from Code, SMTH?
|
|
|
|
|
IXMLDOMDocument *pDomDoc;<br />
IXMLDOMNodeList *pXMLDOMNodeList = NULL;<br />
IXMLDOMNode *pXMLDOMNode = NULL,<br />
*pXMLAttrNode = NULL,<br />
*pXMLChildNode = NULL;<br />
IXMLDOMNamedNodeMap *pXMLAttributes = NULL;<br />
<br />
IXMLDOMNode *pXMLParentNode = NULL,<br />
*pXMLGrandParentNode = NULL;<br />
<br />
CString strAttributeValue;<br />
CComBSTR bstrAttrName;<br />
HRESULT hResult;<br />
<br />
hResult = CoCreateInstance(CLSID_DOMDocument,<br />
NULL,<br />
CLSCTX_INPROC_SERVER,<br />
IID_IXMLDOMDocument,<br />
reinterpret_cast<void**>(&lpDomDoc));<br />
if(FAILED(hResult))<br />
return FALSE;<br />
hResult = pDomDoc->put_async(FALSE);<br />
if(FAILED(hResult))<br />
return FALSE;<br />
<br />
CComVariant vFileName(szXmlFilePath);<br />
VARIANT_BOOL vBool;<br />
pDomDoc->load(vFileName,&vBool);<br />
if(VARIANT_TRUE == vBool)<br />
{<br />
hResult = pDomDoc->getElementsByTagName(L"Name", &pXMLDOMNodeList);<br />
if(FAILED(hResult))<br />
return FALSE;<br />
<br />
hResult = pXMLDOMNodeList->nextNode(&pXMLDOMNode);
if(FAILED(hResult))<br />
return FALSE;<br />
<br />
hResult = pXMLDOMNode->get_attributes(&pXMLDOMNamedNodeMap);<br />
if(FAILED(hResult) || pXMLDOMNamedNodeMap == NULL )<br />
return FALSE;<br />
<br />
bstrAttrName = "Code";
hResult = pXMLDOMNamedNodeMap->getNamedItem(bstrAttrName,&pXMLAttrNode);<br />
if(FAILED(hResult) || pXMLAttrNode == NULL)<br />
return FALSE;<br />
hResult = pXMLAttrNode->get_nodeValue(&varNodeValue);<br />
if(FAILED(hResult))<br />
return FALSE;<br />
strAttributeValue.Format(_T("%S"),V_BSTR(&varNodeValue));<br />
}<br />
else<br />
return FALSE;
Hope this will help you ...
|
|
|
|