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 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.
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! 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
"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
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
"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 This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
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...
|
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
|
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"
|
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.
|
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...
| |
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...
|
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...
|
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...
|
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...
|
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...
|
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,...
| |
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...
|
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: 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,...
|
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: 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...
|
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: 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...
| |