A
ashley.ward
We have been using VB6 to develop small custom apps that access an
Oracle database, in order to extend a larger product that is developed
by our colleagues in Germany (who use C++ and Java).
As each app is small and simple, we have been distributing each to the
customer in the form of a single EXE file.
I have been attempting to build another one of these small custom apps,
using VB 2005 Express Edition. It doesn't seem to be possible to
produce a single EXE file using this environment: for a start, there is
no File -> Make executable menu, only a more complex Build -> Publish
menu, which I think produces an MSI installer file. There are deeper
problems, however. Is there anything incorrect in my thinking below?
1) In order to write a program that takes the results of queries on an
Oracle database and places them in an Excel spreadsheet, in VB6, we can
use (COM) ADODB and Excel.Range.CopyFromRecordset, which copies the
data in a single (fairly quick) step. The database facilities in
VB.NET provide no equivalent: we must instead write (slow and possibly
buggy) code that copies one row at a time from the query result into
the spreadsheet (see
<http://support.microsoft.com/?scid=kb;en-us;306022&spid=1249&sid=global>),
or use (COM) ADODB.
2) If our code uses COM objects (eg ADODB in the above case), it isn't
possible to compile the app into a single EXE file. It seems that
VB.NET needs to create an Interop.ADODB.dll file in this case.
I think if we want to continue to distribute single EXE files, it may
be best for us to stick with VB6.
Have I missed something?
Ashley.
Oracle database, in order to extend a larger product that is developed
by our colleagues in Germany (who use C++ and Java).
As each app is small and simple, we have been distributing each to the
customer in the form of a single EXE file.
I have been attempting to build another one of these small custom apps,
using VB 2005 Express Edition. It doesn't seem to be possible to
produce a single EXE file using this environment: for a start, there is
no File -> Make executable menu, only a more complex Build -> Publish
menu, which I think produces an MSI installer file. There are deeper
problems, however. Is there anything incorrect in my thinking below?
1) In order to write a program that takes the results of queries on an
Oracle database and places them in an Excel spreadsheet, in VB6, we can
use (COM) ADODB and Excel.Range.CopyFromRecordset, which copies the
data in a single (fairly quick) step. The database facilities in
VB.NET provide no equivalent: we must instead write (slow and possibly
buggy) code that copies one row at a time from the query result into
the spreadsheet (see
<http://support.microsoft.com/?scid=kb;en-us;306022&spid=1249&sid=global>),
or use (COM) ADODB.
2) If our code uses COM objects (eg ADODB in the above case), it isn't
possible to compile the app into a single EXE file. It seems that
VB.NET needs to create an Interop.ADODB.dll file in this case.
I think if we want to continue to distribute single EXE files, it may
be best for us to stick with VB6.
Have I missed something?
Ashley.