|
Hi,
I execute the following querry in querry analyser and it takes more than 2 minutes to complete the execution. this is the querry
select * from tablename
table has 155000 records and it is indexed.
is it a common one or does the sql server requires any tuning adjustments.
pls help
srinivasan
|
|
|
|
|
create an index on the table.
Visual Basic programmer.
--------------------------------------------------
Share your thoughts..
|
|
|
|
|
Depending on your settings in the analyzer, queries can tak a lot longer than when running from a normal client...
Maybe the server needs more memory/cpu
maybe the disks are too slow
maybe the server have way too much other work to do
It's a hard question to answar without knowing a lot about the system...
- Anders
Money talks, but all mine ever says is "Goodbye!"
|
|
|
|
|
Could somebody explain why the following segment of the code is throwing exception in the last line. The error is -2146825069 (0x800A0C93) Remote ADO Error: The operation requested is not allowed in this context.
//*******************************************
_ConnectionPtr pConnection = NULL ;
pConnection.CreateInstance(__uuidof(Connection));
_RecordPtr pRec = NULL ;
pRec.CreateInstance(__uuidof(Record));
_bstr_t strConn2("Provider=MSDASQL;Driver={Microsoft Text Driver (*.txt; *.csv)}; DBQ=C:\\Temp" ) ;
pConnection->Open(strConn2,"","",NULL);
pRec->Open("1.txt", pConnection.GetInterfacePtr(), adModeReadWrite, adFailIfNotExists, adOpenRecordUnspecified, "", "" ) ;
//*******************************************
What is wrong??? Why I can't open simple text file through Record object???
Bob ( Expert_30@yahoo.com)
|
|
|
|
|
Hi Bob,
i have done the following and it works:
_ConnectionPtr pConnection = NULL ;
pConnection.CreateInstance(__uuidof(Connection));
_RecordsetPtr pRec = NULL ;
pRec.CreateInstance(__uuidof(Recordset));
_bstr_t strConn2("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\Northwind.mdb") ;
pConnection->Open(strConn2,"","",NULL);
pRec->Open("SELECT * FROM [Text;Database=c:\\Temp;HDR=YES;FMT=Delimited].[1.txt]", pConnection.GetInterfacePtr(),
adOpenStatic,
adLockReadOnly,
adCmdText);
int nCount = pRec->GetRecordCount();
The data:
"Praefix";"Trennung"
"acco";5
"asso";5
"comm";5
"comp";5
"conc";5
"conf";5
|
|
|
|
|
How can i pass parameters along with SQL query( consider a buffer of binary
data also can be a parameter) in ADO's via VC++.
Please send me a sample.
My mail id is kgrajashekar@usa.net
Thanks in advance.
|
|
|
|
|
Hi there,
I have an online job that is being executed on regular schedules. On some occassions, while going through various stored procedures, a DBCC process with a spid of 6 is created. Around the same, I see a message inidicating that a deadlock has been resulted between my currently running process and this DBCC process.
This running DBCC process causes the CPU to be utilized massively and being a system process, can not be killed, unless I re-start the SQL Server.
I was wondering how one could find out the reason this DBCC process starts off to begin with? HOw do I know which DBCC command it is?
thanks
|
|
|
|
|
Hi Amigos!
Converting DB_NUMERIC to anything useful looks like a nightmare. I particularly need to convert it to a string ... can anybody help me???
Thankyou, and happy coding
NB
|
|
|
|
|
Create the client side IAccessor with a binding of DBTYPE_STR and it will do the job for you
|
|
|
|
|
Has anyone used this particular feature with Oracle databases and to success? I'm researching using this feature within an application in order to remove the redundant userid/password prompt that is presently used. The intent is to force user's to logon to the domain first before they can run the application and having done that, to *NOT* be prompted for a userid/password combination by the application. Just wondering about any tips, hints, or war stories that someone else may have.
Thanks.
Chris Meech
|
|
|
|
|
What characteristic does a program need so that a client app can interact with it through a custom made OLEDB provider?
Ernesto Moscoso Cam
|
|
|
|
|
Read the OLEDB 2.0 Reference guide. The interfaces that are mandatory should be supported by the custom OLE DB provider. A client should simply create an instance of data source object using CoCreateInstance etc, then obtaing the data source initialization interface. After that its simple COM programming to trace through various interfaces using QueryInterface etc. But you must refer to the custom provider documentation for which optional interfaces are exposed.
|
|
|
|
|
Hi,
I am trying to set up my database with the table storage and the index storage in seperate filegroups. To do this I am trying the following SQL :
CREATE TABLE ClosingArea (
ClosingArea_ID INTEGER NOT NULL,
ClosingArea_Name VARCHAR(64)
) ON MM32TABLES;
ALTER TABLE ClosingArea ADD CONSTRAINT CLOSINGAREA_PK PRIMARY KEY (ClosingArea_ID) ON MM32INDEXES;
However this initially creates the table in the MM32TABLES filegroup but the "ALTER TABLE" statement changes the table storage to MM32INDEXES when I obviously only want to store the index in that filegroup.
Any ideas why this is happening or how I can do what I want ?
thanks in advance.
|
|
|
|
|
This is because the table and primary key (or clustered index) have to be on the same filegroup. You can create a table on the MM32TABLES group and then create a non-clustered index on MM32INDEXES.
Jason Cono, MCSD
|
|
|
|
|
I am trying to write an out of process com server that is capable of passing back to the client over the network a _ConnectionPtr. It is really a simple 2-tier application. But although the pointer I am getting back looks valid I get an error when I try and open a recordset using the connection returned.
Can anybody help.
I can post some sample code if that would help.
Cheers
AndyC
|
|
|
|
|
Thank you!
I need to allow upwards of 10 District Managers remote access to an Access Database. These Managers will be spread out across Canada. Would it make sense to use an ASP or to use some software like PCAnywhere?
I am kinda stuck and would appreciate any help you can offer.
Thank you so much,
Josie Marent
|
|
|
|
|
Well, both ASP and PCAnywhere could be good solutions.
If you use PCAnywhere you need to write your application in access, because all the users would be using remote control of your server.
With ASP you need to write the application using Active Server Pages, so I guess it depends on what you know most about.
If security is a great consern for you, and the users access the app. using the internet, I would go for ASP, maybe using a SSL connection to encrypt the pages.
If a hacker hacks your webserver he have a harder job taking over your server, than if he hacks a server running PCAnywhere...
- Anders
|
|
|
|
|
Hi all,
I'm using ADO for accessing a MS Access database file in a DLL. I then use this DLL in my application. The problem happens when I try to start any NT service (for ex, IIS Admin Service) and my application at the same time: my application seems to hang forever. I put some debug logging and find out that it get stuck in a function _RecordsetPtr->Open(...), I then try to use _ConnectionPtr instead, it also get stuck in _ConnectionPtr->Open(...). I am very confused and I don't know what's going on. Have anyone encountered this problem before? Please help.
Thank a lot,
Rocky
|
|
|
|
|
Visual C++ 6.0, sp5
NT4, sp5
I'm working on an app that uses ADO to access an oracle database. The following code is part of the function that opens a recordset (try/catch stuff removed for the sake of brevity):
Fields* m_pFields = NULL;
SAFE_CALL(m_piRecordSet->Open(vSQL, vConnection, adOpenDynamic, adLockOptimistic, adCmdText));
int m_nRecordCount = m_piRecordSet->GetRecordCount();
SAFE_CALL(m_piRecordSet->get_Fields(&m_pFields));
...and this is a code snippet from the function we use to close the recordset:
if (m_pFields)
{
m_pFields->Release();
}
SAFE_CALL(m_piRecordSet->Close());
m_piRecordSet.Release();
m_piRecordSet = NULL;
The problem is with the m_pFields variable.
The first 10 or so times we call the function containing this code, it's a valid pointer. On or about the nth time, the variable is NULL. Actually "not initialized" would be a better description of it's state, because if we don't set it to NULL before calling the get_Fields() function, it's value is 0xcccccccc.
As far as I can tell, we close the recordset when we're done with it. Otherwise, we'd get an error message from Oracle saying we have too many open cursors.
Has anyone got any idea why this might be happening?
|
|
|
|
|
Hi,
I use Visual C++ 6.0 SP 4 , SQL Server and oledb
I create a class to connect to my database. In my constructor i initialize com library like this :
CoInitialize(NULL);
In my destructor i release com library like this :
CoUninitialize();
If i use this class to execute for exemple an sql query ( store procedure), my functions open, execute, close,... work.
But if i close my application ( OnOK ) , two seconds later i obtain the following acces violation message :
EXCEPTION(c0000005 acces,@40f919) EBP184f0b8 EIP40f919)
ASM 45 fc 8b 08 8b 01 52 ff 50 08 8b e5 5d c3 cc cc cc cc cc cc
EAX:184f618 EBX:dc0110 ECX:383439 EDX:383439 ESI:dc0064 EDI:184f664 ESP:184f0b4
The suspect function is _Release() throw() which is in a Visual C++ include file ( in Include\COMIP.H )
// Releases only if the interface is not null.
// The interface is not set to NULL.
void _Release() throw()
{
if (m_pInterface != NULL) {
m_pInterface->Release();
}
}
But if i comment out CoUninitialize() instruction, my code work without acces violation.
Can anybody help me?
Best regards,
Cheickna
|
|
|
|
|
Yeah, I think, the problem is the following: when you call a destructor, the code within the destructor is executed, then the destructors of the base classes (reverse order of constructors). So when a base class calls Release or any COM function, the Com Library is not available any more and the code GPFs.
I solved the problem like this:
struct ComStarter {
ComStarter() { CoInitialize(NULL); }
~ComStarter() { CoUninitialize(); CoFreeUnusedLibraries(); }
}
class MyConnection: public ComStarter, public _ConnectionPtr /*or whatever*/
{
// here your code
~MyConnection() { ... }
};
This guarantees that CoInitialize() is called as the very first, and CoUnitialize() as the very last function.
|
|
|
|
|
I have had this symptom before, and my problem was that I had amulti-thread app and I didn't Always marry the CoInit with the CoUninit.
I had two solutions, make sure every thread calls Coinit and CoUninit correctly
(as I had a bug) and use CoInitializeEx(Multithread)!
This my be a different problem to yours, but then again it may not!
Jules.
|
|
|
|
|
Hi
I need to upload binary file (dll) to SQL Server database throught ADO.
I tried to use "ADODB.Stream" object, but i can't open this stream from the file.
hVecoStream->Open(n, adModeUnknown, adOpenStreamUnspecified, _bstr_t(""), _bstr_t(""));
hVecoStream->LoadFromFile(szFileName);
Could you specify correct syntax for this method call
Thanx.
|
|
|
|
|
Have you tried ASP.Upload. Got to aspupload.com
|
|
|
|
|