In a legacy project on the production server, we have a database which
generated the following error when executing a report (written in ASP).
Microsoft OLE DB Provider for ODBC Drivers error '80040e31'
[Microsoft][ODBC SQL Server Driver]Timeout expired
I then created a SQL dump of this database and exported the tables to Access
MDB file.
Using another test server, I re-created the entire database using the SQL
dump file and imported the data using Access MDB file. Next, I copied the
entire ASP source tree over to this test server.
Lo and behold, when I ran the same report program, it ran successfully!
Could someone tell me why the legacy project running on the production
server caused this timeout error, while the exact same program running on a
test server runs without problem?
Could it be an indexing issue?
Thanks.Ed,
"Ed" <eddiemarino@.hotmail.com> wrote in message
news:OjVEPFt6DHA.2392@.TK2MSFTNGP11.phx.gbl...
> Could someone tell me why the legacy project running on the production
> server caused this timeout error, while the exact same program running on
a
> test server runs without problem?
> Could it be an indexing issue?
Yes, it could be indexing.
It could also be locks, server load, etc.
Dev servers tend to be less busy than production machines, and what works
well in the sandbox might not be so hot when the server's really up against
it.
If you've not done so, start by having ASP developers set a custom timeout
value to something other than the default.
(Assuming, of course, identical schema between test and production <g>)
James Hokes
Showing posts with label generated. Show all posts
Showing posts with label generated. Show all posts
Friday, March 16, 2012
Saturday, February 25, 2012
"Multiple-Step operation cannot be generated Check each status value" Error
Hi All,
I have a field 'Rowguid' of type uniqueidentifier in a table. This field is the last field in the table. In this case if I update a record through the application I don't get any error. Suppose if there are additional fields after the field Rowguid I get the error "Multiple-Step operation cannot be generated Check each status value"
For your reference I have used the following statement to add the RowGuid field
Alter table <tablename>
Add RowGuid uniqueidentifier ROWGUIDCOL NOT NULL Default (newid())
Can anyone please help me.
Thanks
SatheshPost your update statement, and any trigger code on this table.|||Where's Brett when we need him?
Logically, columns don't have any order within a table. It so happens that the current implementation of Microsoft SQL Server has a physical order, but that's implementation dependant. Relying on a column order (logical or physical) is a bug waiting to happen!
The problem is that you are not specifying a column list for your INSERT statement, you are relying on an implied order. Once you add columns so that the rowid is no longer the last column, your assumed order bytes you. If you specify the columns via a column list, this won't be a problem.DROP TABLE BadExample
GO
CREATE TABLE BadExample (
comment NVARCHAR(25)
)
GO
INSERT INTO BadExample
SELECT 'Simple case'
SELECT * FROM BadExample
GO
ALTER TABLE BadExample
ADD RowGuid uniqueidentifier ROWGUIDCOL NOT NULL
DEFAULT (newid())
INSERT INTO BadExample (comment)
SELECT 'Not as simple example'
SELECT * FROM BadExample
GO
ALTER TABLE BadExample
ADD myDate DATETIME NOT NULL
DEFAULT GetDate()
GO
INSERT INTO BadExample (comment, myDate)
SELECT 'This works!', '1950-01-02'
SELECT * FROM BadExample
GO
INSERT INTO BadExample
SELECT 'This fails', '1960-03-04'
SELECT * FROM BadExample-PatP|||The problem is that you are not specifying a column list for your INSERT statement, you are relying on an implied order.How did you come up with that from his post!?
I have a field 'Rowguid' of type uniqueidentifier in a table. This field is the last field in the table. In this case if I update a record through the application I don't get any error. Suppose if there are additional fields after the field Rowguid I get the error "Multiple-Step operation cannot be generated Check each status value"
For your reference I have used the following statement to add the RowGuid field
Alter table <tablename>
Add RowGuid uniqueidentifier ROWGUIDCOL NOT NULL Default (newid())
Can anyone please help me.
Thanks
SatheshPost your update statement, and any trigger code on this table.|||Where's Brett when we need him?
Logically, columns don't have any order within a table. It so happens that the current implementation of Microsoft SQL Server has a physical order, but that's implementation dependant. Relying on a column order (logical or physical) is a bug waiting to happen!
The problem is that you are not specifying a column list for your INSERT statement, you are relying on an implied order. Once you add columns so that the rowid is no longer the last column, your assumed order bytes you. If you specify the columns via a column list, this won't be a problem.DROP TABLE BadExample
GO
CREATE TABLE BadExample (
comment NVARCHAR(25)
)
GO
INSERT INTO BadExample
SELECT 'Simple case'
SELECT * FROM BadExample
GO
ALTER TABLE BadExample
ADD RowGuid uniqueidentifier ROWGUIDCOL NOT NULL
DEFAULT (newid())
INSERT INTO BadExample (comment)
SELECT 'Not as simple example'
SELECT * FROM BadExample
GO
ALTER TABLE BadExample
ADD myDate DATETIME NOT NULL
DEFAULT GetDate()
GO
INSERT INTO BadExample (comment, myDate)
SELECT 'This works!', '1950-01-02'
SELECT * FROM BadExample
GO
INSERT INTO BadExample
SELECT 'This fails', '1960-03-04'
SELECT * FROM BadExample-PatP|||The problem is that you are not specifying a column list for your INSERT statement, you are relying on an implied order.How did you come up with that from his post!?
Subscribe to:
Posts (Atom)
