Go Back   Freethought Forum > The Marketplace > Computers & Technology

Reply
 
Thread Tools Display Modes
  #1  
Old 09-03-2004, 02:37 PM
Farren's Avatar
Farren Farren is offline
Pistachio nut
 
Join Date: Jul 2004
Location: South Africa
Gender: Male
Posts: MMMDCCXXIII
Images: 26
Default Geeks! Need advice on redistributing Access DB with VB app!

I'm hoping some of the technically proficient peeps here can help me. Astonishingly, after years of development I'm not subscribed to a single technical forum and I'm feeling a bit too lazy right now to sign up somewhere else, bookmark it and remember which of my hundreds of poorly categorised bookmarks it was.

I normally just search for other people's forum posts and associated answers because I find any question I may have has already been answered somewhere by someone and I'm a killer search guru. But this one has me flummoxed because I just can't come up with a precise enough search string to get the answers, so I'm hoping one of the techies here can provide the answers :) Details and questions follow:

I'm writing a free game modding utility for players of the computer game Morrowind. I haven't actually played the game for over a year because the game mechanics are ultimately ill thought out and crappy, but it does have some unparalleled features such as a huge world and the ability to mod almost anything (with a truly crappy scripting language and a painful world editor) - and the massive modding community, which suffers from a paucity of real programmers, is always very grateful for new tools which is immensely rewarding.

Besides that I already wrote a powerful editing utility a year ago and never really finished the ideas I had for the codebase, so its kind of an itch I have to scratch. The editor is in widespread use and its quite intoxicating knowing that a lot of people are getting a lot of happiness from something you did. Side note: after doing the MW editor I came to realise that the motivation behind open source can be a lot more than simple altruism. It really feels good knowing hundreds of peeps are using your thing as an indispensable tool, regardless of whether you get cash for it or not.

The utility I want to write will import all the Morrowind object-oriented base data files and plugin data files on a persons PC into a database (basically lists of serialised objects), creating tables for each object type and allowing them to use SQL queries to manipulate masses of data, then export back to Morrowind plugin format.

Now being hopelessly disorganised, all I have left of my MS Developer Edition is a box. I suspect the disks, manuals and other shit is in the possession of my former business partner who, while a nice guy, is a magpie into who's cavernous cupboards flows all things computer related that have so much as sniffed his aura, especially stuff that his absent minded friend left at his place and never enquired about. Now, I can't even find the redistribution terms and conditions for MS Access. So I need to ask:

1. What's the deal with redistributing VB applications with the runtime version of MS Access databases? My understanding is that its free for redistribution if you've bought Office Developer Editon and for a coupla years I've operated on this principle with small clients. But I'm suddenly nervous because this is an app that will be distributed free worldwide via the net and I don't want MS tearing me a new one.

Basically my intention was to distribute a .mdb file and use Jet components to access the DB, avoiding the irritation of setting up ODBC shit. I don't want end users to have to do anything other than click "Set up -> Next -> Next -> Finish"

2. Are there any other small-footprint, small-download, SQL-queryable, royalty-free databases that can be freely redistributed with VB apps and don't require setting up extraneous shit or make that setting up automate-able (via a batch file, f'rinstance)?

Help?
Reply With Quote
  #2  
Old 09-03-2004, 02:52 PM
Scotty's Avatar
Scotty Scotty is offline
Member
 
Join Date: Jul 2004
Posts: CCCXCIII
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

Hmm, would something like Berkeley DB work? The software from http://www.sleepycat.com/

??

-Scott
Reply With Quote
  #3  
Old 09-03-2004, 04:35 PM
Farren's Avatar
Farren Farren is offline
Pistachio nut
 
Join Date: Jul 2004
Location: South Africa
Gender: Male
Posts: MMMDCCXXIII
Images: 26
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

:yes!:

Scotty you are, indeed, a miracle worker. That looks like exactly what I want. Thanks a ton. Its got a tiny footprint, no seperate server, direct app-to-db access and is free for open source apps. Talk about spot on.

You are indeed a prince among geeks. Have one of these :winner:
Reply With Quote
  #4  
Old 09-03-2004, 04:53 PM
Scotty's Avatar
Scotty Scotty is offline
Member
 
Join Date: Jul 2004
Posts: CCCXCIII
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

Yeah, I just made my 15 minute miracle mark. One more minute and I would have been off the team.

:cool:

-Scott
Reply With Quote
  #5  
Old 09-03-2004, 05:05 PM
livius drusus's Avatar
livius drusus livius drusus is offline
Admin of THIEVES and SLUGABEDS
 
Join Date: Apr 2004
Posts: LVCCCLXXII
Images: 5
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

I admit my eyes glazed over a bit - what with the not knowing what Farren was talking about thing - but I knew Scotty would totally have the answer. He's not a prince among geeks; he is their king, I tell ya. :king:
Reply With Quote
  #6  
Old 09-03-2004, 08:21 PM
Goliath's Avatar
Goliath Goliath is offline
select custom_user_title from user_info where username='Goliath';
 
Join Date: Jul 2004
Location: Kansas City, MO
Gender: Male
Posts: MMDCCVII
Images: 1
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

Quote:
Originally Posted by Farren
1. What's the deal with redistributing VB applications with the runtime version of MS Access databases? My understanding is that its free for redistribution if you've bought Office Developer Editon and for a coupla years I've operated on this principle with small clients. But I'm suddenly nervous because this is an app that will be distributed free worldwide via the net and I don't want MS tearing me a new one.
Ah, well to get around that, you have to open your box.

Now, on the SKWRL port, attach the NUT adapter (make sure it's NUT v.4.0 compatible). To the NUT adapter, attach the AKRN Drive (make sure you attach the left NUT and right NUT to the AKRN correctly...you don't want to fry your NUT).

Now, attach the AKRN Drive connected to your NUT into the ICKY Drive. The ICKY Drive should be able to run the MS program.

Quote:

Basically my intention was to distribute a .mdb file and use Jet components to access the DB, avoiding the irritation of setting up ODBC shit. I don't want end users to have to do anything other than click "Set up -> Next -> Next -> Finish"
Ah, yes...it's best to avoid the ODBC if at all possible. I'd suggest getting a VIVD with the PRN socket. Make sure to use some High Grade SDG437 brand Nipple Grubbers.

Quote:
2. Are there any other small-footprint, small-download, SQL-queryable, royalty-free databases that can be freely redistributed with VB apps and don't require setting up extraneous shit or make that setting up automate-able (via a batch file, f'rinstance)?
Ah, you only have SQL. Well, most NUT adapters will work with SQL, but you might have early packet ejection problems.

I hope that was of help. :D
__________________
Cleanliness is next to godliness.
Godliness is next to impossible.
Therefore, cleanliness is next to impossible.
Reply With Quote
  #7  
Old 09-03-2004, 11:05 PM
ceptimus's Avatar
ceptimus ceptimus is offline
puzzler
 
Join Date: Aug 2004
Location: UK
Posts: XVMMDCCCXX
Images: 28
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

I've always believed (and I'm reasonably sure) that there are no licensing issues distributing .mdb files that your VB app reads and writes. I often use Access to design the database in the first place, but then write a VB app for my clients, so they don't have to purchase Access. Of course, if you want to give your users a copy of Access itself, to make it easy for them to roll their own reports etc., then you or they have to purchase Access licences, which are ludicrously expensive.

Another option is MySQL. It's dead easy to access a MySQL database from a VB program - there is a royalty-free ODBC driver available. You can run MySQL on the same box as the VB app, or better on a separate box, and talk to it through an SSH tunnel (again all free stuff). I don't really like running MySQL on a Windows box though - the best setup seems to be MySQL on a Linux box with the VB app (on Windows, naturally) talking to it via SSH.

It's possible to automate the setup of ODBCs etc. so that clients only have to click on 'Install', but it is rather a pain to test.

I can post some code samples on how to link to MySQL from VB, if anyone is interested.
Reply With Quote
  #8  
Old 09-04-2004, 12:28 AM
Farren's Avatar
Farren Farren is offline
Pistachio nut
 
Join Date: Jul 2004
Location: South Africa
Gender: Male
Posts: MMMDCCXXIII
Images: 26
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

Bah double post
Reply With Quote
  #9  
Old 09-04-2004, 12:32 AM
Farren's Avatar
Farren Farren is offline
Pistachio nut
 
Join Date: Jul 2004
Location: South Africa
Gender: Male
Posts: MMMDCCXXIII
Images: 26
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

Quote:
Originally Posted by ceptimus
I've always believed (and I'm reasonably sure) that there are no licensing issues distributing .mdb files that your VB app reads and writes. I often use Access to design the database in the first place, but then write a VB app for my clients, so they don't have to purchase Access. Of course, if you want to give your users a copy of Access itself, to make it easy for them to roll their own reports etc., then you or they have to purchase Access licences, which are ludicrously expensive.

Another option is MySQL. It's dead easy to access a MySQL database from a VB program - there is a royalty-free ODBC driver available. You can run MySQL on the same box as the VB app, or better on a separate box, and talk to it through an SSH tunnel (again all free stuff). I don't really like running MySQL on a Windows box though - the best setup seems to be MySQL on a Linux box with the VB app (on Windows, naturally) talking to it via SSH.

It's possible to automate the setup of ODBCs etc. so that clients only have to click on 'Install', but it is rather a pain to test.

I can post some code samples on how to link to MySQL from VB, if anyone is interested.
Ceptimus, I would be, but... while ODBC is fine for clients I actually deal with, I don't want to ask large numbers of strangers on the Internet to do anything more complicated than "Download the setup .exe and double-click on it, then click 'yes', 'next' and 'finished' on every screen that follows". I suppose you can create complex uncompress-and-run-other-tasks files with WINRAR but that has costs involved and requires careful setting up of parameters and behaviours every time I release an updated version.

I'm increasingly warming to MySQL for commercial use after being exposed to it by a Java programming buddy, but am saddened by it's continued lack of support for stored procedures. The last app I wrote was with MSDE and almost a third of the functionality was in sophisticated stored procedures on the DB itself. The install procedure (which, I admit, contained those complex WINRAR install-and-do-other stuff scripts) ran DB scripts to effectively write code into the DB on set up to make it work. Some tasks are better suited to the DB server than the client program.

Also, it's (apparently) not entirely free and has a complex open source agreement that requires that the app you're developing be database-independent and MySQL simply be the DB of choice in order to be truly free, if I understand my friend correctly.

Borland Interbase is also titilating, but astonishingly, after years of Pascal development of games in my youth, I have never gotten round to mastering Delphi (which it works best with).
Reply With Quote
  #10  
Old 09-04-2004, 02:00 AM
Scotty's Avatar
Scotty Scotty is offline
Member
 
Join Date: Jul 2004
Posts: CCCXCIII
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

http://www.postgres.org

That also might be a good DB to use in some situations.

-Scott
Reply With Quote
  #11  
Old 09-04-2004, 02:46 PM
Farren's Avatar
Farren Farren is offline
Pistachio nut
 
Join Date: Jul 2004
Location: South Africa
Gender: Male
Posts: MMMDCCXXIII
Images: 26
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

Hey Scotty,

After downloading and looking at BerkeleyDB it rapidly became apparent to me that there is no VB support. I spent hours on the net looking for Visual Basic Wrapper code, DECLARE statements to use with the DLL and similar, but it seems no-one uses BerkeleyDB with VB. (oops edited to change SQLLite to BerkeleyDB)

While I'm getting into my C++ I'm still pretty confused by a lot of it and I can whip stuff out in VB so I went looking for other stuff.

Also its not a relational database and doesn't have SQL support. After looking at that initially I thought that was still pretty cool because apparently the direct program control means its faster because it doesn't have to parse, tokenise, cache and optimise SQL queries but the resulting API is pretty confusing and working with a confusing API in a language I'm still a novice with is not where I wanna be right now.

Nonetheless I ran it by the other guys I'm doing a commerical game with and they're both keen on using it for that purpose. We're doing an RPG which is why I'm learning C++ and we're still mucking around with landscape and foliage logic but BerkeleyDB still looks smashing for data storage when we get to that. So I'm putting off getting into it until my C++ skills have developed a bit.

In the mean time I found this excellent SQL-based, completely free DB (for anything, no strings attached) which is C++ oriented but has a small community supporting VB users:

http://www.sqlite.org/

Last edited by Farren; 09-04-2004 at 03:24 PM.
Reply With Quote
  #12  
Old 09-04-2004, 03:32 PM
Scotty's Avatar
Scotty Scotty is offline
Member
 
Join Date: Jul 2004
Posts: CCCXCIII
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

I guess I should change my title. I have lost the crown...

-Scott
Reply With Quote
  #13  
Old 09-04-2004, 05:37 PM
ceptimus's Avatar
ceptimus ceptimus is offline
puzzler
 
Join Date: Aug 2004
Location: UK
Posts: XVMMDCCCXX
Images: 28
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

Why aren't you just going the Microsoft JET engine .mdb root? Do you have any evidence that you're not allowed to distribute .mdb files along with your VB-created executables. I think you are allowed. I certainly hope so, as this is what I usually do. .mdb files easily handle stored procedures too.

I prefer the .mdb method for single/low user applications, and only go to MySQL when there are going to be multiple users accessing the one DB. My experience is that an .mdb (Access) database is a bit flaky for multi-user applications. The real advantage of running MySQL on a Linux box is that you can also install Apache and PHP, then people can view (and even alter) the database just using a web browser. The MySQL license seems (so far as I understand it) to be free providing that it is serving a web server, so running Apache and PHP helps to clarify the MySQL license too.
Reply With Quote
  #14  
Old 09-16-2004, 04:47 PM
Scotty's Avatar
Scotty Scotty is offline
Member
 
Join Date: Jul 2004
Posts: CCCXCIII
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

Ohh, interesting: http://www.backplane.com/

-Scott
Reply With Quote
  #15  
Old 09-16-2004, 10:27 PM
Farren's Avatar
Farren Farren is offline
Pistachio nut
 
Join Date: Jul 2004
Location: South Africa
Gender: Male
Posts: MMMDCCXXIII
Images: 26
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

Quote:
Originally Posted by Scotty
Ohh, interesting: http://www.backplane.com/

-Scott
Its cool but its both Linux/FreeBSD only AND its C. Sheesh. They must be geeks. Not that I'm not very admiring of them, of course. :D

I considered using an Access MDB with Jet but i have vague recollections of Access-based apps stopping working when people install new versions of Office (the one that comes with Access).

In the end, because I'm partially an Ubergeek (apart from the um, don't know C well part I can program in 5 other languages and have been programming since... uh... 1982), I found some fast file handling Windows API calls (which gives you C like speed anyway) and wrote a non-relational data file handling database of sorts myself.

I've also kind of got the Berkeley DB stuff working for my game. I got the object-oriented .MIS files it uses to read and write from a database record rather than a disk file so I'm getting there, but the C code is all hacky and messy.

Ga, I hate messy code. When you know what you're up to there are elegant methods of doing things where you just KNOW you did it the best way possible and where you didn't you know about it and have a plan for making it better when time permits. Right now I'm at the point with C where all I know is whatever I did works.

There's just too much redundancy. Like why the hell have a "." operator and a "->" operator when they appear to do exactly the same god-cursed thing? It creates the uncomfortable feeling that I'm missing something all the time. In natural languages such redundancy is great for poetry. In programming language its just like this great ugly surplus of terms that produces constant anxiety that you've been inadequately economical in expressing logic.
Reply With Quote
  #16  
Old 09-16-2004, 11:08 PM
JoeP's Avatar
JoeP JoeP is offline
Solipsist
 
Join Date: Jul 2004
Location: Kolmannessa kerroksessa
Gender: Male
Posts: XXXVMMLXXXV
Images: 18
Default Re: Geeks! Need advice on redistributing Access DB with VB app!

Quote:
Originally Posted by Farren
(apart from the um, don't know C well part I can program in 5 other languages and have been programming since... uh... 1982),
Ha! AlphaBasic, 1978. 6502 assembler, 1979.
__________________

:roadrun:
Free thought! Please take one!

:unitedkingdom:   :southafrica:   :unitedkingdom::finland:   :finland:
Reply With Quote
Reply

  Freethought Forum > The Marketplace > Computers & Technology


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

 

All times are GMT +1. The time now is 05:42 AM.


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Page generated in 0.79506 seconds with 13 queries