473,769 Members | 5,727 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Upgrading to SQL Server

Hello,

I have convinced my boss that it is time to upgrade our Access 2000
database to SQL server or possibly some other back end. I have
researched many of the posts to get a feel for the effort required.
The application has about 120,000 lines of code but a relatively small
dataset of about 60MB. If you scold me for not doing this, 100,000
lines ago, I'll understand.

My particular programming style uses SQL statements embedded in the
code for most of data handling. I understand that many (most? all?)
will have to be converted to stored procedures. My main question that
I have not been able to pull out of my readings is this: Can the back
end be upgraded and run off the client side SQL statements, allowing
conversion as time allows, or does every query have to be converted to
a stored procedure first?

I realize that continuing to do client side processing does nothing
to enhance the speed but the task of converting every line at once
seems pretty daunting.

Thanks,
Hank Reed
Nov 13 '05 #1
6 1510
ha********@aol. com (Hank Reed) wrote in news:f4b05677.0 407140310.387f7 870
@posting.google .com:
Hello,

I have convinced my boss that it is time to upgrade our Access 2000
database to SQL server or possibly some other back end. I have
researched many of the posts to get a feel for the effort required.
The application has about 120,000 lines of code but a relatively small
dataset of about 60MB. If you scold me for not doing this, 100,000
lines ago, I'll understand.

My particular programming style uses SQL statements embedded in the
code for most of data handling. I understand that many (most? all?)
will have to be converted to stored procedures. My main question that
I have not been able to pull out of my readings is this: Can the back
end be upgraded and run off the client side SQL statements, allowing
conversion as time allows, or does every query have to be converted to
a stored procedure first?

I realize that continuing to do client side processing does nothing
to enhance the speed but the task of converting every line at once
seems pretty daunting.


It's unlikely that the syntax of your JET "SQL statements embedded in the
code" will be compatible with the T-SQL syntax; many of these queries will
fail if you connect to the server via OLEDB.

In order to use query strings in code, the user must have Table Permissions
(SELECT, INSERT, DELETE, UPDATE) in the MS-SQL DB. Many DB administrators
will not want to give such permissions.

T-SQL is very powerful. If your 120000 lines of code is about Data
Manipulation you may be able to translate much of it to Stored Procedures
and User Defined Functions on the MS-SQL Server. You will need some time to
learn T-SQL in order to this.
But if the code is about something else, converting to MS-SQL will do
nothing to reduce it.

It's rumoured here in CDMA that MDBs, ODBC and Pass Through Queries will
let you treat MS-SQL just like JET. Implementing a solution like that will
get you, hmmmmmm, where?

--
Lyle
--
use iso date format: yyyy-mm-dd
http://www.w3.org/QA/Tips/iso-date
--
The e-mail address isn't, but you could use it to find one.
Nov 13 '05 #2
Lyle,

Thanks for the quick response. Yes the SQL statements are all about
data manipulation and retrieval. I build a lot of view screens and
reports for my users. Also, obviously, they are always adding data. By
embedded statements, I mean something like:

SQL1 = “DELETE FROM [Table Name] WHERE [Customer ID] = “ &
CustomerID & “;”
DoCmd.RunSQL SQL1 or

SQL1 = “SELECT * FROM [Purchase Orders] WHERE [PO ID] = “ & POID &
“;”
Set rsPO = db.OpenRecordse t(SQL1)
If (rsPO.RecordCou nt > 0) Then (et cetera)

The reason I use this approach is that it makes single step debug
extremely easy as you can see your SQL statements verbatim.

Your statement here is a little cryptic:
It's rumored here in CDMA that MDBs, ODBC and Pass Through Queries will
let you treat MS-SQL just like JET. Implementing a solution like that
will get you, hmmmmmm, where?

If you are saying that I will gain nothing execution-wise I understand.
My only hope is that I can make the SQL to T-SQL transition one function
at a time.
Hank Reed
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 13 '05 #3
ha********@aol. com (Hank Reed) wrote:
I have convinced my boss that it is time to upgrade our Access 2000
database to SQL server or possibly some other back end. I have
researched many of the posts to get a feel for the effort required.
The application has about 120,000 lines of code but a relatively small
dataset of about 60MB. If you scold me for not doing this, 100,000
lines ago, I'll understand.

My particular programming style uses SQL statements embedded in the
code for most of data handling. I understand that many (most? all?)
will have to be converted to stored procedures. My main question that
I have not been able to pull out of my readings is this: Can the back
end be upgraded and run off the client side SQL statements, allowing
conversion as time allows, or does every query have to be converted to
a stored procedure first?


You can convert it one step at a time by using tables linked to SQL Server. This is
exactly the approach I started with for a clients very large app. Unfortunately,
due to the intervention of a PHB (Dilberts' Pointy Haired Boss) I didn't finish.
Thus the below document isn't complete.

See my Random Thoughts on SQL Server Upsizing from Microsoft Access Tips page at
http://www.granite.ab.ca/access/sqlserverupsizing.htm

I wanted to be at the stage where, at cutover time, the same FE MDB could be used for
Access and SQL Server. Thus in the weeks preceding the cutover I could still make
changes for the client while connected to the Access BE and yet I could continue
working on the SQL Server conversion.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Nov 13 '05 #4
"Hank" <ha************ ***@aol.com> wrote in message
news:40******** **************@ news.newsgroups .ws
Lyle,

Thanks for the quick response. Yes the SQL statements are all about
data manipulation and retrieval. I build a lot of view screens and
reports for my users. Also, obviously, they are always adding data.
By embedded statements, I mean something like:

SQL1 = ?oDELETE FROM [Table Name] WHERE [Customer ID] = ?o &
CustomerID & ?o;?
DoCmd.RunSQL SQL1 or

SQL1 = ?oSELECT * FROM [Purchase Orders] WHERE [PO ID] = ?o & POID &
?o;?
Set rsPO = db.OpenRecordse t(SQL1)
If (rsPO.RecordCou nt > 0) Then (et cetera)


Fairly easily recreated in stored procedures....
--
regards,

Bradley
Nov 13 '05 #5
Actually, if you use linked tables to sql server, then a VERY large portion
of your code will work.

So, to:
Can the back
end be upgraded and run off the client side SQL statements, allowing
conversion as time allows, or does every query have to be converted to
a stored procedure first?


yes the above is right on the money as to how this works. The only kink is
that some stuff may not work, but you simply fix that.

Then, OVER TIME, you start converting sql queries and code to stored
processing. In fact, some stuff will run just fine and dandy, and you don't
have to convert it at all.

So, in my experience, 99% of your sql code, even dao reocrdset code will
work. There are some things that have to be changed, for example:

dim rstRec as DAO.RecordSet
dim lngNewID as long

set rstRec = currentdb.OpenR ecordSet("yourt able")

rstRec.AddNew
rstRec!City = "Edmonton"
lngNewID = rstRec!ID
rstRec.Update
rstRec.Close
set RstRec = Nothing

At this point, lngNewID is set to the last id created.

When using sql server, you have to force the update, so, all my code (which
works both for JET, and sql server) is now:

rstRec.AddNew
rstRec!City = "Edmonton"
rstRec.Update
rstRec.BookMark = rstRec.LastUpda ted
lngNewID = rstRec!ID

So, some things like code that assumes the autonumber ID (identify in sql
server) will be available BEFORE the update occurs has to be changed. But,
most code will in fact run as is...
--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pl************* ****@msn.com
http://www.attcanada.net/~kallal.msn
Nov 13 '05 #6
"Albert D. Kallal" <Pl************ *******@msn.com > wrote:
When using sql server, you have to force the update, so, all my code (which
works both for JET, and sql server) is now:

rstRec.AddNe w
rstRec!City = "Edmonton"
rstRec.Updat e
rstRec.BookMar k = rstRec.LastUpda ted
lngNewID = rstRec!ID


Whereas I never knew you could even do the former. It never occurred to me to try.

So I've used the following code for as long as I could remember.

RS.Move 0, RS.LastModified
lngTableListID = RS!stlid

No idea where I found it.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Nov 13 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1218
by: Nikola Skoric | last post by:
Hi! Few days ago I upgraded my MySQL 3.23.xx (can't remember those two last, really) to 4.0.16. And then three problems came up (well, more than two came up, but I solved all the others). 1. problem I'm pretty sure I don't have any ISAM tables, but I'm not 100% sure. How do I list types of all tables in ALL databases? SHOW TABLE STATUS works only for curent database...
1
7643
by: Thomas | last post by:
Hallo. Habe auf einem SeSE 9.1 Server due neue MySQL 4.1.11 und den dazugehrigen client installiert. #: mysql -V mysql Ver 14.7 Distrib 4.1.11, for pc-linux-gnu (i686) Soweit so gut der Server luft auch. Nach dem ich die Datenbanken der Vorgngerversion 4.0.x in das
0
1163
by: Tex | last post by:
Hi to all, I've a question about upgrading a MSCS'ed DB2 v7.2 to DB2 v8.1. The scenario is simple: Server A and Server B, DB2 running on A. I'm ok about installing a fixpak on a clustered environment, so I'll skip all the "stop cluster services" and "take DB2 group offline"
13
1784
by: Shawn | last post by:
After upgrading to IIS 6.0 /Windows Server 2003 Standard Ed, I get the following error message for regular .asp pages. How can I fix this? HTTP Error 403 403.1 Forbidden: Execute Access Forbidden This error can be caused if you try to execute a CGI, ISAPI, or other executable program from a directory that does not allow programs to be executed.
1
1632
by: Precious | last post by:
Our existing application is developed using VB6/SQL Server 2000, which is used by remote users located at different places through vpn/terminal server. It is a typical accounting application. I have to tell the client about the advantages of converting it into .net, which should again be deployed in vpn/terminal server environment. Can anybody give some points/issues on the topic "Advantage of upgrading VB6 application .NET in VPN/Terminal...
3
1999
by: paulh | last post by:
Hello, we are preparing for an upgrade to SQL 2005 and as a result of this I became aware that the compatibility level of one of our databases was set to level 65 (current SQL server is SQL 2000 SP4). Managing this server is something I have fallen into, so I am not sure of the exact reasons its compatibility level has stayed lower. When I upgrade the level however, some of our ASP pages throw the following error: ADODB.Recordset error...
2
2776
by: Ivan | last post by:
Hi, I experienced a problem while upgrading from DB2 UDB LUW Workgroup edition 7.2 FixPak 10a to Workgroup Server edition 8.2 FixPak 12. The install wizard said the upgrade was successful but none of the MIGRATE commands worked due to authorization problems. The install log showed the following message for each instance - 1: ERROR:An error occurred while creating the instance "DB2". The return code is "-1959". Create the instance...
6
1610
by: JimLad | last post by:
Hi, We have a major ASP app that we are in the process of upgrading to ASP.NET 1.1 and probably on to ASP.NET 2.0 in the middle of next year. (We will also be upgrading to SQL2K5 at the same time). The current architecture is heavily based on the client side, both for validation and data access. The asp page is returned and then data is modified or selected using XMLHTTP objects embedded on the page, which post or get to a data...
1
1315
by: Steve | last post by:
Hi guys, I'm trying to upgrade TFS 2005 to TFS 2008 on a test server in preparation for upgrading our live box. However, when I run the install of 2008, I get the following error message: TF220059: An error occurred while the Setup program was querying the installation settings for Team Foundation Server. For more information about this error, see the installation logs. For more information about the installation logs, see...
0
879
by: oriol.ardevol | last post by:
Hi, We've recently migrated from a framework 1.1 asp.net solution to framework 2.0 and we're facing a problem when upgrading a dll in our production environment. We have a dll with a pagle object and some thousand pages in our site that inherit from that page object. When we upgrade the dll and upload it to the server by copying it in the bin folder, the server stops to respond for about a couple of hours, with it processos always at...
0
9423
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10210
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10039
jinu1996
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...
1
9990
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9860
tracyyun
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...
0
5297
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5445
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3955
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
3
2814
bsmnconsultancy
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...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.