Har en stor vb6 applikation (ca 240 formulär, 80 000 rader kod) som använder DAO mot en Access databas. Kör många transactions i flera nivåer. Har börjat med att byta ut DAO mot ADO och SQL server 2000 men stöter på problem. Om du går över till SQL Server bör du börja titta på lagrade procedurer istället. Från din vb-kod kallar du bara en procedur istället, ex: Jag förstår att lagrade procedurer höjer prestandan avsevärt. Först vill jag nog se om det går att byta till ADO och SQL-server utan att behöva ändra allt för mycket. Vissa frågor, som ger stor prestandavinst är det nog som du säger, smart att lagra som procedurer i databasen.Nested transactions ADO
Det verkar inte som om man kan använda Nested transactions med ADO (OleDbProvider) mot Sql server.
Har sett tips om att använda T-sql i koden.Sv: Nested transactions ADO
tblUserIns 'Kalle','Kula'
och skriver en procedur:
create procedure tblUserIns
@firstname varchar(50),
@lastname varchar(50)
as
set nocount on
insert into tbluser (firstname, lastname) values (@firstname, @lastname)Sv:Nested transactions ADO
När jag utvecklade programmet -99 låg fokus på att kunna erbjuda mindre företag datastöd i sin verksamhet varför DAO och Access-databasen verkade vara ett bra val. Som så många gånger förr visar det sig att både funktionalitet och datamängd ökar med tiden och slutligen står man inför ett val som man egentligen borde sluppit om man varit förutseende.
Det bästa vore att skrivaom hela programmet i Net men i dagsläget är det ett för stort steg. Jag har testat att göra ett par program med ADO.NET och har väl lyckats klura ut grunderna.
Då funktionaliteten på programmet är bra hade tänkt "köpa mig lite tid" genom att byta databas. Ett av programmets viktigaste uppgifter är att bearbeta stora mängder data och jag tror att det blir lättare att hitta "flaskhalsar" med SQL-server samtidigt som säkerheten ökar.
Problemet som jag ändå har, är att det tydligen inte fungerar med "Nested transactions" och SQL-Server med de providers som finns. Det är sparsamt med information på nätet, det enda jag hittat är ett tips på att använda "native T-sql" för ändamålet.
Tips?