Hello,
I recently wrote a survey application. Each question is very similar.
The first questions gives me a problem when there are multiple people
taking the survey (The Database connection Timed out) I am using the
Data Access Application Blocks as ASP.NET (using VB.NET) and SQL 2000.
In there first question there can be up to 27 answers. So I figured
instead of making 27 different trips to the database I woulc just
concatenate my answers on the Stored Procedure and loop through them
and inserting them into my Answers table using a CURSOR. This all
worked great until I stress tested the application. I really think my
problem is that the CURSOR just has way to much overhead when multiple
people will be running the stored procedure.
What I am looking for is an alternative to using a cursor or if
someone could tell me what I am doing wrong (I am sure I am doing
something stupid :-)). Any help would be great.
Also the error I am getting in testing is:
Timeout expired. The timeout period elapsed prior to completion of
the operation or the server is not responding.
I included the Stored procedure that I mentioned above.
CREATE PROCEDURE dbo.usp_InsertQ 1(
@UserName varchar(7),
@FinishedQuesti on int,
@A1 varchar(1)=0,@A 2 varchar(1)=0,@A 3 varchar(1)=0,@A 4
varchar(1)=0,@A 5 varchar(1)=0,@A 6 varchar(1)=0,@A 7 varchar(1)=0,@A 8
varchar(1)=0,@A 9 varchar(1)=0,@A 10 varchar(1)=0,@A 11 varchar(1)=0,@A 12
varchar(1)=0,
@A13 varchar(1)=0,@A 14 varchar(1)=0,@A 15 varchar(1)=0,@A 16
varchar(1)=0,@A 17 varchar(1)=0,@A 18 varchar(1)=0,@A 19
varchar(1)=0,@A 20 varchar(1)=0,@A 21 varchar(1)=0,@A 22
varchar(1)=0,@A 23 varchar(1)=0,@A 24 varchar(1)=0,
@A25 varchar(1)=0,@A 26 varchar(1)=0,@A 27 varchar(1)=0, @UserDepartment
varchar(50),@Co stCenter varchar(6)
)
AS
SET NOCOUNT ON
DECLARE @QuestionID char(11),
@NewSurveyID uniqueidentifie r,
@SurveyIDforIns ert int ,
@AnsNumber int,
@ConAnswers varchar(27),
@myAnswer int,
@RealUserDept int
SET @NewSurveyID = newid()
SET @AnsNumber = 1
SET @ConAnswers = (@A1 + @A2 + @A3 + @A4 + @A5 + @A6 + @A7 + @A8 + @A9
+ @A10 + @A11 + @A12 + @A13 + @A14 + @A15
+ @A16 + @A17 + @A18 + @A19 + @A20 + @A21 + @A22 + @A23 +
@A24 + @A25 + @A26 + @A27)
SELECT @RealUserDept = ccDepartmentID FROM t_CostCenters WHERE
ccCostCenter = @CostCenter
--Insert a new Survey since this is the First Question!
INSERT INTO t_Survey(
ID,
Name,
FinishedQuestio n,
DepartmentFK,
CostCenter)
VALUES(@NewSurv eyID,
@UserName,
@FinishedQuesti on,
@RealUserDept,
@CostCenter)
--Get the Newly Inserted Survey ID
SELECT @SurveyIDforIns ert =SurveyID FROM t_Survey WHERE ID =
@NewSurveyID
DECLARE c1 CURSOR FOR
SELECT qQuestionID
FROM t_Question
WHERE Left(qSequence, 3) = 'Q01'
ORDER BY qQuestionID
OPEN c1
FETCH NEXT FROM c1
INTO @QuestionID
WHILE @@FETCH_STATUS = 0
BEGIN
IF SUBSTRING(@ConA nswers, @AnsNumber, 1) = 0
BEGIN
SET @myAnswer = NULL
END
ELSE
BEGIN
SET @myAnswer = SUBSTRING(@ConA nswers, @AnsNumber, 1)
END
INSERT INTO t_Answers (
aSurveyFK,
aQuestionFK,
aAnswer)
VALUES(@SurveyI DforInsert,
@QuestionID,
@myAnswer
)
SET @AnsNumber = @AnsNumber +1
FETCH NEXT FROM c1
INTO @QuestionID
END
CLOSE c1
DEALLOCATE c1
GO 3 6100
You have several alternatives.
You could extend the query timeout - but this is pushing the problem under
the carpet.
You could investigate what Locking you are causing that is stopping the
concurrent execution of other copies of this SP. Look in Enterprise Manager
/ Management / Current Activity / Locks or use sp_lock - you may be locking
the t_Survey or t_Answers tables inadvertantly. Without changing anything
else, this line of investigation is likely to give the best answers...
Cursors and temp tables are the bain of system performance, so if you can
get rid of the cursor and in general not use them your designs will be much
better...
OR
I would be tempted to look at the feasability of rather than passing in all
answers as separate parameters, passing them in as one VARCHAR and storing
that value after perhaps some massaging. EG if it is too short, IE not all
questions answered, pad it out with '_' chas or someother value that is not
a space to indicate NULL. Don't use trailing spaces, they will get lobbed
off.
Amend the rest of the schema to get answers by ordinal position from the
answer string, not from an individual record. This will only be possible if
you can know the ordinal of the question... in each survey, and the survey
is fixed once defined.
Your system could then become extensible as you would only need 1 SP to
store any type of answer set, and your current SP becomes much simpler -
either way.
AND
If SurveyID is an identity column, you could use the SCOPE_IDENTITY( ) value
instead of this select: --Get the Newly Inserted Survey ID SELECT @SurveyIDforIns ert =SurveyID FROM t_Survey WHERE ID = @NewSurveyID
Dont use @@IDENTITY... read BOL to find out why.
- Tim
"DarthMacgy ver" <da**********@b cnepa.com> wrote in message
news:11******** *************** **@posting.goog le.com... Hello,
I recently wrote a survey application. Each question is very similar. The first questions gives me a problem when there are multiple people taking the survey (The Database connection Timed out) I am using the Data Access Application Blocks as ASP.NET (using VB.NET) and SQL 2000.
In there first question there can be up to 27 answers. So I figured instead of making 27 different trips to the database I woulc just concatenate my answers on the Stored Procedure and loop through them and inserting them into my Answers table using a CURSOR. This all worked great until I stress tested the application. I really think my problem is that the CURSOR just has way to much overhead when multiple people will be running the stored procedure.
What I am looking for is an alternative to using a cursor or if someone could tell me what I am doing wrong (I am sure I am doing something stupid :-)). Any help would be great.
Also the error I am getting in testing is:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
I included the Stored procedure that I mentioned above.
CREATE PROCEDURE dbo.usp_InsertQ 1( @UserName varchar(7), @FinishedQuesti on int, @A1 varchar(1)=0,@A 2 varchar(1)=0,@A 3 varchar(1)=0,@A 4 varchar(1)=0,@A 5 varchar(1)=0,@A 6 varchar(1)=0,@A 7 varchar(1)=0,@A 8 varchar(1)=0,@A 9 varchar(1)=0,@A 10 varchar(1)=0,@A 11 varchar(1)=0,@A 12 varchar(1)=0, @A13 varchar(1)=0,@A 14 varchar(1)=0,@A 15 varchar(1)=0,@A 16 varchar(1)=0,@A 17 varchar(1)=0,@A 18 varchar(1)=0,@A 19 varchar(1)=0,@A 20 varchar(1)=0,@A 21 varchar(1)=0,@A 22 varchar(1)=0,@A 23 varchar(1)=0,@A 24 varchar(1)=0, @A25 varchar(1)=0,@A 26 varchar(1)=0,@A 27 varchar(1)=0, @UserDepartment varchar(50),@Co stCenter varchar(6) )
AS SET NOCOUNT ON
DECLARE @QuestionID char(11), @NewSurveyID uniqueidentifie r, @SurveyIDforIns ert int , @AnsNumber int, @ConAnswers varchar(27), @myAnswer int, @RealUserDept int
SET @NewSurveyID = newid() SET @AnsNumber = 1 SET @ConAnswers = (@A1 + @A2 + @A3 + @A4 + @A5 + @A6 + @A7 + @A8 + @A9 + @A10 + @A11 + @A12 + @A13 + @A14 + @A15 + @A16 + @A17 + @A18 + @A19 + @A20 + @A21 + @A22 + @A23 + @A24 + @A25 + @A26 + @A27)
SELECT @RealUserDept = ccDepartmentID FROM t_CostCenters WHERE ccCostCenter = @CostCenter
--Insert a new Survey since this is the First Question! INSERT INTO t_Survey( ID, Name, FinishedQuestio n, DepartmentFK, CostCenter) VALUES(@NewSurv eyID, @UserName, @FinishedQuesti on, @RealUserDept, @CostCenter)
--Get the Newly Inserted Survey ID SELECT @SurveyIDforIns ert =SurveyID FROM t_Survey WHERE ID = @NewSurveyID
DECLARE c1 CURSOR FOR SELECT qQuestionID FROM t_Question WHERE Left(qSequence, 3) = 'Q01' ORDER BY qQuestionID
OPEN c1
FETCH NEXT FROM c1 INTO @QuestionID
WHILE @@FETCH_STATUS = 0 BEGIN
IF SUBSTRING(@ConA nswers, @AnsNumber, 1) = 0 BEGIN SET @myAnswer = NULL END ELSE BEGIN SET @myAnswer = SUBSTRING(@ConA nswers, @AnsNumber, 1) END
INSERT INTO t_Answers ( aSurveyFK, aQuestionFK, aAnswer) VALUES(@SurveyI DforInsert, @QuestionID, @myAnswer )
SET @AnsNumber = @AnsNumber +1
FETCH NEXT FROM c1 INTO @QuestionID END
CLOSE c1 DEALLOCATE c1 GO
In addition to Tim's answers,
You may want to consider moving the row-based operations to the middle-tier,
or at a minimum, a class in your ASP.Net application.
From an untried, 10,000 ft perspective... Store the question answers in
cookies, then place all of the cookies (since this is a known depth) in a
collection and pass the collection to your middle-tier method. Of course
there are other issues to be resolved, such as a question being re-answered.
This will also give you some control to test for a question being answered,
by checking existence of the cookie.
For example, have 2 methods in the middle-tier/class;
1. Insert the survery and retrieve the survey id
2. With the survey id, insert the answers by iterating the collection &
executing the survey for each question answered.
While this resembles what you're doing in the cursor, you remove the ado.net
timeout (to a degree, the option is still there) and place all of the logic
in the middle-tier while giving additional control as to the # of times the
insert occurs. Instead of assuming all questions have been answered (if
they're not all required), you can loop through the objects in the
collection, and only insert what has been answered.
-Morgan
"Tim" <Tim@NoSpam> wrote in message
news:uc******** *****@TK2MSFTNG P11.phx.gbl... You have several alternatives.
You could extend the query timeout - but this is pushing the problem under the carpet.
You could investigate what Locking you are causing that is stopping the concurrent execution of other copies of this SP. Look in Enterprise
Manager / Management / Current Activity / Locks or use sp_lock - you may be
locking the t_Survey or t_Answers tables inadvertantly. Without changing anything else, this line of investigation is likely to give the best answers...
Cursors and temp tables are the bain of system performance, so if you can get rid of the cursor and in general not use them your designs will be
much better...
OR
I would be tempted to look at the feasability of rather than passing in
all answers as separate parameters, passing them in as one VARCHAR and storing that value after perhaps some massaging. EG if it is too short, IE not all questions answered, pad it out with '_' chas or someother value that is
not a space to indicate NULL. Don't use trailing spaces, they will get lobbed off.
Amend the rest of the schema to get answers by ordinal position from the answer string, not from an individual record. This will only be possible
if you can know the ordinal of the question... in each survey, and the survey is fixed once defined.
Your system could then become extensible as you would only need 1 SP to store any type of answer set, and your current SP becomes much simpler - either way.
AND
If SurveyID is an identity column, you could use the SCOPE_IDENTITY( )
value instead of this select:
--Get the Newly Inserted Survey ID SELECT @SurveyIDforIns ert =SurveyID FROM t_Survey WHERE ID = @NewSurveyID
Dont use @@IDENTITY... read BOL to find out why.
- Tim
"DarthMacgy ver" <da**********@b cnepa.com> wrote in message news:11******** *************** **@posting.goog le.com... Hello,
I recently wrote a survey application. Each question is very similar. The first questions gives me a problem when there are multiple people taking the survey (The Database connection Timed out) I am using the Data Access Application Blocks as ASP.NET (using VB.NET) and SQL 2000.
In there first question there can be up to 27 answers. So I figured instead of making 27 different trips to the database I woulc just concatenate my answers on the Stored Procedure and loop through them and inserting them into my Answers table using a CURSOR. This all worked great until I stress tested the application. I really think my problem is that the CURSOR just has way to much overhead when multiple people will be running the stored procedure.
What I am looking for is an alternative to using a cursor or if someone could tell me what I am doing wrong (I am sure I am doing something stupid :-)). Any help would be great.
Also the error I am getting in testing is:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
I included the Stored procedure that I mentioned above.
CREATE PROCEDURE dbo.usp_InsertQ 1( @UserName varchar(7), @FinishedQuesti on int, @A1 varchar(1)=0,@A 2 varchar(1)=0,@A 3 varchar(1)=0,@A 4 varchar(1)=0,@A 5 varchar(1)=0,@A 6 varchar(1)=0,@A 7 varchar(1)=0,@A 8 varchar(1)=0,@A 9 varchar(1)=0,@A 10 varchar(1)=0,@A 11 varchar(1)=0,@A 12 varchar(1)=0, @A13 varchar(1)=0,@A 14 varchar(1)=0,@A 15 varchar(1)=0,@A 16 varchar(1)=0,@A 17 varchar(1)=0,@A 18 varchar(1)=0,@A 19 varchar(1)=0,@A 20 varchar(1)=0,@A 21 varchar(1)=0,@A 22 varchar(1)=0,@A 23 varchar(1)=0,@A 24 varchar(1)=0, @A25 varchar(1)=0,@A 26 varchar(1)=0,@A 27 varchar(1)=0, @UserDepartment varchar(50),@Co stCenter varchar(6) )
AS SET NOCOUNT ON
DECLARE @QuestionID char(11), @NewSurveyID uniqueidentifie r, @SurveyIDforIns ert int , @AnsNumber int, @ConAnswers varchar(27), @myAnswer int, @RealUserDept int
SET @NewSurveyID = newid() SET @AnsNumber = 1 SET @ConAnswers = (@A1 + @A2 + @A3 + @A4 + @A5 + @A6 + @A7 + @A8 + @A9 + @A10 + @A11 + @A12 + @A13 + @A14 + @A15 + @A16 + @A17 + @A18 + @A19 + @A20 + @A21 + @A22 + @A23 + @A24 + @A25 + @A26 + @A27)
SELECT @RealUserDept = ccDepartmentID FROM t_CostCenters WHERE ccCostCenter = @CostCenter
--Insert a new Survey since this is the First Question! INSERT INTO t_Survey( ID, Name, FinishedQuestio n, DepartmentFK, CostCenter) VALUES(@NewSurv eyID, @UserName, @FinishedQuesti on, @RealUserDept, @CostCenter)
--Get the Newly Inserted Survey ID SELECT @SurveyIDforIns ert =SurveyID FROM t_Survey WHERE ID = @NewSurveyID
DECLARE c1 CURSOR FOR SELECT qQuestionID FROM t_Question WHERE Left(qSequence, 3) = 'Q01' ORDER BY qQuestionID
OPEN c1
FETCH NEXT FROM c1 INTO @QuestionID
WHILE @@FETCH_STATUS = 0 BEGIN
IF SUBSTRING(@ConA nswers, @AnsNumber, 1) = 0 BEGIN SET @myAnswer = NULL END ELSE BEGIN SET @myAnswer = SUBSTRING(@ConA nswers, @AnsNumber, 1) END
INSERT INTO t_Answers ( aSurveyFK, aQuestionFK, aAnswer) VALUES(@SurveyI DforInsert, @QuestionID, @myAnswer )
SET @AnsNumber = @AnsNumber +1
FETCH NEXT FROM c1 INTO @QuestionID END
CLOSE c1 DEALLOCATE c1 GO
DarthMacgyver, I recently wrote a survey application. Each question is very similar. The first questions gives me a problem when there are multiple people taking the survey (The Database connection Timed out) I am using the Data Access Application Blocks as ASP.NET (using VB.NET) and SQL 2000.
In there first question there can be up to 27 answers. So I figured instead of making 27 different trips to the database I woulc just concatenate my answers on the Stored Procedure and loop through them and inserting them into my Answers table using a CURSOR. This all worked great until I stress tested the application. I really think my problem is that the CURSOR just has way to much overhead when multiple people will be running the stored procedure.
What I am looking for is an alternative to using a cursor or if someone could tell me what I am doing wrong (I am sure I am doing something stupid :-)). Any help would be great.
Also the error I am getting in testing is:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
You don't need a cursor for this. You can insert all answers in one
fell swoop. This will be much faster than inserting rows
individually and should address your performance problems. Make sure
you have helpful indexes on all tables.
Just guessing at the table structures...
create table t_Survey (
SurveyID int identity,
ID uniqueidentifie r,
Name varchar(7),
FinishedQuestio n int,
DepartmentFK int,
CostCenter varchar(6)
)
create table t_Answers (
aSurveyFK int,
aQuestionFK int,
aAnswer int
)
go
create table t_Question (
qQuestionID int,
qSequence varchar(6)
)
insert t_Question select 1, 'Q01'
insert t_Question select 2, 'Q01'
insert t_Question select 3, 'Q01'
insert t_Question select 4, 'Q01'
insert t_Question select 5, 'Q01'
insert t_Question select 6, 'Q01'
insert t_Question select 7, 'Q01'
insert t_Question select 8, 'Q01'
insert t_Question select 9, 'Q01'
insert t_Question select 10, 'Q01'
insert t_Question select 11, 'Q02'
insert t_Question select 12, 'Q02'
insert t_Question select 13, 'Q02'
insert t_Question select 14, 'Q02'
go
CREATE PROCEDURE dbo.usp_InsertQ 1(
@UserName varchar(7),
@FinishedQuesti on int,
@A1 varchar(1) = null, @A2 varchar(1) = null,
@A3 varchar(1) = null, @A4 varchar(1) = null,
@A5 varchar(1) = null, @A6 varchar(1) = null,
@A7 varchar(1) = null, @A8 varchar(1) = null,
@A9 varchar(1) = null, @A10 varchar(1) = null,
@A11 varchar(1) = null, @A12 varchar(1) = null,
@A13 varchar(1) = null, @A14 varchar(1) = null,
@A15 varchar(1) = null, @A16 varchar(1) = null,
@A17 varchar(1) = null, @A18 varchar(1) = null,
@A19 varchar(1) = null, @A20 varchar(1) = null,
@A21 varchar(1) = null, @A22 varchar(1) = null,
@A23 varchar(1) = null, @A24 varchar(1) = null,
@A25 varchar(1) = null, @A26 varchar(1) = null,
@A27 varchar(1) = null,
@UserDepartment varchar(50),
@CostCenter varchar(6)
)
as
set nocount on
declare @NewSurveyID uniqueidentifie r,
@SurveyIDforIns ert int,
@RealUserDept int
SET @NewSurveyID = newid()
-- temporary
SELECT @RealUserDept = @CostCenter
--SELECT @RealUserDept = ccDepartmentID
--FROM t_CostCenters WHERE ccCostCenter = @CostCenter
--Insert a new Survey since this is the first question.
INSERT INTO t_Survey(
ID,
Name,
FinishedQuestio n,
DepartmentFK,
CostCenter)
VALUES (@NewSurveyID,
@UserName,
@FinishedQuesti on,
@RealUserDept,
@CostCenter)
--Get the newly inserted SurveyID
SELECT @SurveyIDforIns ert = SurveyID
FROM t_Survey WHERE ID = @NewSurveyID
insert t_Answers (aSurveyFK, aQuestionFK, aAnswer)
select @SurveyIDforIns ert, aQuestionFK, cast(aAnswer as int)
from (
select 1, @A1 union all select 2, @A2 union all
select 3, @A3 union all select 4, @A4 union all
select 5, @A5 union all select 6, @A6 union all
select 7, @A7 union all select 8, @A8 union all
select 9, @A9 union all select 10, @A10 union all
select 11, @A11 union all select 12, @A12 union all
select 13, @A13 union all select 14, @A14 union all
select 15, @A15 union all select 16, @A16 union all
select 17, @A17 union all select 18, @A18 union all
select 19, @A19 union all select 20, @A20 union all
select 21, @A21 union all select 22, @A22 union all
select 23, @A23 union all select 24, @A24 union all
select 25, @A25 union all select 26, @A26 union all
select 27, @A27) answers(aQuesti onFK, aAnswer)
join t_Question
on qQuestionID = aQuestionFK
and left(qSequence, 3) = 'Q01'
return @@error
go
exec usp_InsertQ1 @UserName = 'xxx', @FinishedQuesti on = 10,
@A1 = 2, @A3 = 4, @A7 = 1, @A10 = 3,
@UserDepartment = 'IT', @CostCenter = '4711'
select * from t_Survey
--select * from t_Question
select * from t_Answers
go
drop procedure usp_InsertQ1
drop table t_Survey
drop table t_Answers
drop table t_Question
Linda This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Brian Kelley |
last post by:
I am trying to use threads and mysqldb to retrieve data from multiple
asynchronous queries.
My basic strategy is as follows, create two cursors, attach them to the
appropriate databases and then spawn worker functions to execute sql
queries and process the results.
This works occasionally, but fails a lot taking python down with it.
Sometimes it also loses connection to the database. Sometimes I get an
error, "Commands out of sync; ...
|
by: sci |
last post by:
Could someone help me by answering the questions below?
What's a cursor?
What's difference between Query and View?
Is a RecordSet just part of a table? Can it be part of a query of view?
If the content in a table changed, is it necessary for a old recordset to
renew itself by do "Requery()"?
Thanks for your help!
|
by: Jim |
last post by:
I having a difficult time here trying to figure out what to do here.
I need a way to scroll through a recordset and display the results
with both forward and backward movement on a web page(PHP using
ADO/COM)..
I know that if I use a client side cursor all the records get shoved
to the client everytime that stored procedure is executed..if this
database grows big wont that be an issue?..
I know that I can set up a server side cursor...
|
by: Oliver Stratmann |
last post by:
Hello All!
We have a cursor in an application which fetches some data out of a DB2-DB.
Normally it all works kind of well.
We inserted a routine at certain places in order to do some
perfomance-monitoring .
Now we got the problem, that the cursor closes at some point although not
all the data has been fetched and then next fetch of the application causes
an error.
Is there a way to force the cursor to stay open?
|
by: BBFrost |
last post by:
We have a data entry application written within Framework 1.0 that contains
20+ custom user controls.
The controls overlay each other so that only one custom control is visible
at a time. What is the best way to keep the cursor from jumping to another
non-visible control when the user tabs past the (currently designated) last
control on the form. I've had some luck using the Leave event but the last
visible control can change...
| |
by: DarthMacgyver |
last post by:
Hello,
I recently wrote a survey application. Each question is very similar.
The first questions gives me a problem when there are multiple people
taking the survey (The Database connection Timed out) I am using the
Data Access Application Blocks as ASP.NET (using VB.NET) and SQL 2000.
In there first question there can be up to 27 answers. So I figured
instead of making 27 different trips to the database I woulc just
concatenate my...
|
by: johnlichtenstein |
last post by:
I am using cx_Oracle and MySQLdb to pull a lot of data from some tables
and I find that the cursor.execute method uses a lot of memory that
never gets garbage collected. Using fetchmany instead of fetchall does
not seem to make any difference, since it's the execute that uses
memory. Breaking the query down to build lots of small tables doesn't
help, since execute doesn't give its memory back, after reading enough
small tables execute...
|
by: spider007 |
last post by:
Hi all,
I have a peculiar problem. I have a query which returns multiple rows.
I want to perform some operations on the output row by row. For that, i
declared a cursor and fetching the rows. Now the problem is, that if
run the query on DB2 command, I am getting the output in 11 minutes and
as soon as i put the query in SP in cursor and i do a simple OPEN
<cursorname>, it takes more than 2 hrs.
I am running DB2 v8.2 on AIX.
|
by: mike_dba |
last post by:
I am looking for comments on experience using a Load from Cursor
across multiple db's databases.
I have a multi-terrabyte database across many partitions that includes
a large table (1 Tb+). The system also contains UTF-8 and LOB data.
I am about to refresh the existing platform - going from V8.2 to V9
and leveraging new hardware. I an staying with SuSe Linux at 64-bit.
Does anyone have experience using this?
My initial plan was to...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
| |
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| | |