Link to home
Start Free TrialLog in
Avatar of morrisbo
morrisbo

asked on

what data bases work with visual basic net 2010

I am planning to convert a vb6 application that uses access 2000 and ado to vb net 2010 or later. I want the basic converted vb net program to run on a remote web site or on a local desk top. Looking for the best data base using ado to use in the new vb net program. The application will be a distributed system to a customer base that subscribes to our software, now written in vb6 using access 2000 and ado. Vb6 has access 2000 built in so that the end user is not required to have access 2000 installed. Hopefully this would work the same with vb net 2010 with some version of SQL.

Any help here is appreciated. Also any comments on using vb net as the development tool is appreciated. It is my understanding that I will need to purchase Visual Studio 2010 since vb net 2010 that needs to be run on a web site is not sold stand alone.

I realize that I am asking multiple questions here, but just want to select the best tools to develop the net version of our product.

Thanks for any help.

morrisbo
SOLUTION
Avatar of Dave Baldwin
Dave Baldwin
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of LordWabbit
LordWabbit

Sad to say but I agree with Jacques Bourgeois, trying to convert VB6 code to .Net is basically a rewrite.  If you do go the rewrite route I would strongly suggest looking at the entity framework for database interaction, it may seem confusing at first but once you get used to it, it will accelerate development in leaps and bounds.
Avatar of morrisbo

ASKER

Thanks for your input guys - Dave Baldwin, LordWabbit, and James Burger. This has been very helpful in guiding us to the right decisions about development tools and methodology for the project.

We plan to use the latest version of vb net along with SQL using ADO. Was happy to learn that vb net is now offered free for small software development companies like our ( 2 programmers). Our company has offered products for Insurance companies and insurance agents for over 35 years, beginning with DOS, then VB3, and now VB6.

We have a large base of customers, running our VB6 product on Windows XP, 7, and 8.

The plan is to develop a version of our product using VB Net that will provide the ability for our customers to upgrade from VB6 by offering the same data base fields using SQL in addition to several new storage fields and tables.

I appreciate any thoughts on short cuts and/or tools to convert the various critical forms to the new product. The main 3rd party controls in use now are the Component One tools, mainly for the ability to display various reports with option to  print a hard copy,  Lead Tools for scanning, and Codejock for dressing up the forms.

I am hoping there is something in VB Net that corresponds to CLASSES in vb6.

In the new product we are hoping to be able to include ability for customers to access and edit their data with hand held devices.

We have in house a Windows 2003 server and think we should be able to test the web version using that computer. Am I on track here? I know Microsoft plans to discontinue support shortly.

Our web site is www.arsmanagerplus.com.

If we don't get any additional experts exchange experts in the next day or so, I will award points and close the project out.
You should go with the newest versions of everything that you can.  Windows Server 2003 is too old, it only supports IIS6.  IIS7 or IIS8 will be what are available on commercial hosting.  .NET Framework 4.5 will probably be expected and it doesn't work on Windows Server 2003.  And you may not be using ADO either.  This article https://msdn.microsoft.com/en-us/library/ms810810.aspx describes the Microsoft Data Access technologies though I note that it is 4 years old now.

In every question like this I've seen here before, the conclusion has always been that you are not going to translate VB6 code, you will be writing a new version in .NET code.  And the third party tools you mention are not likely to work on a web site.  Any time frame you had in mind for this project should be doubled.
Also, your current web site does not appear to have anything directly to do with putting your product on the web.  It appears to be a standard company web site (in PHP) and not a web interface to your real software.
As Dave says, move everything to the latest technologies. The changes you are making won't be easier if you stick to 2010 technology than they will be if you move right now to 2013 or 2015. But what you will do with the newest technologies will last longer.

You are talking about ADO. Know that names can be misleading. ADO.NET has almost nothing to do with the ADO you know. Think that there is no Recordset object, and this automatically tells you that the thing is very different. You can still use the old ADO, but it is not recommended, specially with SQL Server. It is slower and Microsoft has plans to drop the OleDB driver for SQL Server, which will render your code useless. And god know how long the old ADO will still be supported in .NET. You thus have to think about moving to a new database access technology, be it ADO.NET or technologies that runs over it such as LINQ and data entities. Research these before you embark on your rewrite of the application.

And since you are talking about mobile development, know that ADO and ADO.NET are not available there anyway. You will have to learn to create a Web Service. Also be aware that coding for mobile applications and creating the interfaces has almost nothing to do with coding for regular windows applications.

Yes there are classes in VB.NET, and they go a lot more farther than the classes in VB6. If you had fun with those in VB6, you will be in paradise in .NET, if you are willing to learn what real classes are. The ones in VB6 were very limited as far as object oriented programming was concerned.

I would suggest a few training sessions. In my 13 of experience as a VB.NET trainer (and 10 more in VB6 prior to that), I have met a lot of programmers that are in your situation. I have evaluated that in average, VB6 programmers who try to learn by themselves usually take around 6 months before they feel comfortable with .NET. But they often see at that point that most of what they did during these 6 months was crappy, sometimes to the point were they have to restart from scratch. They brought their old VB6 habits with them, and this is the worst way to go in. I also see many of these in my classes. They find out after 6 months that they cannot do it properly without solid bases. I often see programmers who have learned on the job and have 1 or 2 years of experience come to my advanced courses; and then I see them in my introductory course a few weeks later because they found out that they were not using .NET to its full potential, still thinking as VB6 programmers instead of .NET programmers.

Programmers who have training usually take around 2 months to feel at home, but what they do during that period is not so bad and can usually be used even if it is not the best they could have done.

And if you want to go into mobile development, then as least one of you should also get training on the subject.
Jacques Bourgeois (James Burger)

Specifically, what training material do you recommend for us?

morrisbo
I live in Montreal and teach in French, so I am not aware of what is available somewhere else and in English.

I suggest that you look for a good training center in your area.

In my opinion, books are not very useful nowadays. Things are going too fast, books needs to be big, and they cannot follow up. Most books are written on the beta version of the software, by programmers that did not have the possibility of using the tools on real world applications, and thus do not know their problems and limits.

A good trainer is up to date with the real world and can bring you a lot more.

You might also search for audio-visual material. But there too, I would prefer something that is live instead of a collection of DVDs. The DVDs suffer the same problems as the books. Web base training is usually better because they can update their documentation as the developers of the site content gain experience with what they teach. You can also usually chat with them and sometimes join special online sessions.
Whilst I agree mostly with what Jacques is saying, in that the technology is changing fast, I disagree that picking a decent book and settling down for a good read will not add value.  Anything you didn't know before can only help going forward.  That being said it's almost pointless reading about deprecated code, LINQ to entities is dead, skip that and move to the entity framework or code first methodology (not a fan, but it does work).  MVC is a design pattern, was doing it before it even had a name.  Moving from VB6 to .Net now is going to seem like a large hurdle (and it is) but in around 6 months you will wonder why you did not make the move sooner.  The changes in the IDE alone are monumental and will increase your coding rate drastically.  Learn the keyboard shortcuts, download a cheat sheet of the most common / useful shortcuts.   Spend a bit of time going though the basic assemblies, get a handle on the stuff you will be doing most, System.IO.File, System.IO.Path, System.Data.SqlClient etc.  Use stringbuilders A LOT when building long strings, that sort of thing.
@LordWabbit

...LINQ to entities is dead...
Did you mean LINQ-to-SQL? Wouldn't "LINQ to entities" be Entity Framework  = )
To Jacques, I would add that there is an old adage, those who can't do, teach.  But it's clear from your comments that you are well versed in your subject matter.  I wish my initial instructor in .Net was as well versed as you.
@kaufmed
Quite right, my bad.
@LordWabbit

The word "instructor" is quite large in meaning.

In many companies, the instructor is another programmer that just had training and is giving it back to his colleagues. The worst instructor you can get, since he has a superficial grasp of the concepts and no experience at all.

Then, there is the teacher, who is too often somebody who studied, studied, studied... and then started teaching. He is topnotch in theory, but lacks a lot if not all about what happens in the real world. And there is an abyss of difference between theory and the real world.

I cannot say for elsewhere, but in my part of the world, teachers are usually hired full time. They need to fill these hours, so they are often asked to teach subjects in which they have absolutely no experience, even in theory. I often have in my classes teachers that come to learn VB.NET because they have to teach it the following semester. Since they teach full time, do you think that they have much time to get experienced before they start teaching? Or that they do practice during their 2 months of vacation? Also, most teachers in my part of the world are unionized, so there is no way to get rid of them if they are bad at teaching, only if they do bad things as human beings.

Then there is the trainer, a technical trainer to use the more official term. I am not a teacher, but a trainer. I do not teach in schools, colleges or universities, but through specialized training centers that offer training to companies. So when I say that I teach, I should say that I train (choo...choo). English is not my main language, so I do not always use the right words. I do have some academic training in programming, but most of what I learned, I learned the hard way, by reading a lot, by experimenting and by doing it... through so many years, always following the flow instead of sitting on what I already knows.

A trainer (at least in the places where I have teached/trained) is a programmer who had a lot of real experience before he started to work as a trainer. He usually works part time as a programmer and part time as a trainer, so he keeps an eye on what goes on in the real world instead of being isolated in his academic world. That makes a big difference.

There are a few good teachers (Mr. Bazinet, my university math teacher, is someone I will have in my heart all my life), but not many bad trainers. Training being mostly a freelance affair (at least here in the Montreal area), and your students being professional programmers who pay quite a good amount of money for their training, you do not survive long as a trainer if you are not able to bring answers to real world problems.

And most trainers that I know do it because they like or even love their job. It is very stimulating and rewarding. So much that when things are slow, they end up spending a lot of time answering questions on Expert-Exchange, because they miss the pleasure of communicating what they know from others. Most of what I learned came from places such as this one, not from teachers or from books.

Sorry if I offended a few teachers with my comments. If you are here, you are probably a Mr. Bazinet, one of the good ones, and what I said about teachers probably does not apply to you.
From what I am hearing about the importance of selecting our training material and help wisely, I am beginning to think that maybe the best situation for us is to attempt to locate and hire a "consultant" who is proficient in some later version of vb net, and pay for their services at an hourly rate, since we have no knowledge of the new language except where the syntax may be similar to what we already know about VB6 and do not know how much assistance we need. Let me know if any of you guys might be interested in a project / arrangement like this let me know.

I do know that it is imperative to begin the project fairly soon. We are quickly being stuck with an obsolete language, and therefore a "program" or application that may be losing value should we decide to sell the package. It currently runs very smoothly with very little maintenance requirements.  We have been programming using VB3, then VB6 for approx. 16 years and consider ourselves very proficient with these tools.

Also, I looked into the suggestion that we would qualify for the free version of vb net 2013. I am wondering about SQL. I think Microsoft also has a free version of it also.  Important when we start distributing the new product.

As far as the testing of the net version, our best approach may be to rent a box  with a later version of Windows server from a web hosting company.

For marketing the new program we will have customers that have little interest in using a remote data base / program site, so just offering a more up to date product would permit new functionality . Other current customers and future prospects we believe would like the idea of being able to access and edit their customer data from virtually anywhere with an internet connection. The shift in customer preference is towards the latter.

We have explored working with web hosting companies that are able to load vb6 exe programs and run on their web site. Just not prepared to use this arrangement that would make us completely dependent on a 3rd party for our product and our customers, (quality of service, price increases, etc.).  Once our customers have invested their time in loading their insureds data, I think it would be an almost impossible task in changing where the program and data reside, i.e. some other web hosing vendor.

All comments on the above thoughts are greatly appreciated.

morrisbo
Before hiring a consultant, be sure to have references. A lot of people out there present themselves as consultants and do not know that much. I've had consultant in my introductory course that took it because they were starting on a new mandate that required VB.NET the following week.

There is a free version of SQL Server called the Express edition that can do the job quite well if the needs are not to high. If Access 2000 was enough, this would be more than enough. It has some limitations, such as 5GB of data and a limited number of simultaneous transactions, but it is a Ferrari compared to the Lada that is Access. It could well fit the bill.

For a distant repository that could be used to store your customers' data, have you thought about the cloud. This is not something I have used, but something I would consider if I were in your position. Microsoft (under the name of Azure) and Amazon offer cloud solutions that are said to be affordable and from which you should expect good service. The one from Microsoft offers SQL Server storage and might the answer to your needs. Last time I looked, they gave 1 month free to try the thing. The latest versions of Visual Studio are designed to work with Azure.
Before hiring a consultant, be sure to have references.
I second this. Working in the government sector, I've seen my share of consultants/contractors. In my current scene, we've got some pretty knowledgeable folks, but at another agency some of our contractors were less knowledgeable than our entry-level FTEs. Not having any folks experienced with the technology puts you at a slight disadvantage, but references and work samples should help to bridge the gap.
Thanks all.

The post generated a good discussion and gave us some important things to consider in beginning the work. Also, now have a good educated idea on the tools I should consider.  I personally have been programming now for 40 + years, from the IBM 1401 main frame, then Cobol on IBM 360 main frame, then with the first IBM PC using 5 1/4 floppy disks, then 3 1/2 disks, CDs and now we send out new versions of our DBMS using cloud products like Dropbox.  Guess I am a computer nerd.  Love the programming profession.

Its a shame that there is a limit of 500 totals points to be awarded.

Also, this discussion may be beneficial to others using Experts Exchange.

morrisbo
Experts Exchange is an excellent venue for computer related solutions.
You did not work with 8 1/2 floppies? If you want know what floppy means, try to find one. I still have one that I show to my students from time to time, and they think that it is a joke for programmers. But they were really used in the first TRS-80 micros. And what about the operating system for the PDP-8, that needed to be loaded from paper tape each time we booted the thing.

Yes sir. Programmers who lived in these times and are still here and going strong with modern programming practices are surely the greatest computer nerds. And they are probably the ones that appreciate today's programming techniques the most, because they know how hard it was in the past, when you were lucky if you could compile your Fortran program on perforated cards more than 2 or 3 times in a day.
8-inch floppies were used extensively with CP/M in the late 1970's and early 1980's.  I have boxes of them with software on them in my desk drawer, hundreds of them.  5-1/4 inch too.  I don't know if they are any good at this point since I haven't used them for 20 years now.
You are right about 8 1/2 floppy.  At first I thought I had made a typing error with my comment. We both go back a long ways with data processing, a term that probably most newbies would not even recognize.

My first program on the IBM PC was written using the Basic interpreter that came with the computer.  I believe it had 265 k memory and no hard disk. Also the screen was green, no color screens available yet. The computer and Okadata dot matrix printer cost $5000.00 plus.

One thing I forgot to mention as a good source of information are the internet search engines like Google.

Don't know how many times I would enter "How do I ..... using VB6 or ADO or something else?

We have a library of VB6 text books, some were good, some very bad. Persistence is the name of the game in getting answers in developing software.

 You are right about how fast the technology is changing. We may go for VB Net 2015 to try to get ahead of the curve.

Also, had not even thought about the possibility of using the new Microsoft azure for SQL Server storage.

morrisbo
256K (you probably made a typing mistake with 265K)?

My first contact with personal computers was a Timex Sinclair that my father won : 2K.

The first one I bought myself was a Color Computer : 16K.

I bought a kit to extend it to 64K. This involved replacing 8 chips (the one with these so delicate legs that tended to fold onto themselves instead of entering properly into the sockets), completely cutting 8 capacitors out of the board, cutting 3 traces on the motherboard with an X-Acto, screwing in a little electronic circuit and connecting it to components of the motherboard in 3 places with clips. You then crossed your finger and turned on the switch, wondering, during the 2 or 3 seconds it took to know if you had ruined everything, what you would do with all that memory.

First hard drive was 20 Mg. It came on a board that was folded at an angle in order to fit in the computer case. Cost 620$ somewhere at the beginning of the 80's. I used a severance package from losing a job in order to afford it.

Did you say nerd?

Ah, these wonderful days.
Well you could always compile your COBOL to .NET if it would be easier to digest   ; )