|
There are lots of open source projects on freshmeat.net and sourceforge.net.
|
|
|
|
|
IMHO, PostgreSQL is the best thing out there.
It basically kicks arse on all the other free RDBMSes and the vast majority of commercial offerings.
I have recently started using MS SQL server at work and I must say, Postgres compares very favourably.
http://www.postgresql.org
You'd have to be pretty hard core to wanna get into this source code
|
|
|
|
|
|
Objectives
The objectives of this project are: to design a conceptual database schema (Entity-
Relationship diagram or any other conceptual modeling notation) for a given
specification of a sample database domain, to translate a conceptual schema into
object classes and associations of object-oriented database, to specify the object
classes and associations in Object Definition Language, to implement and to load a
sample contents of object-oriented database and to implement few database
applications using Object SQL and C++ bindings.
|
|
|
|
|
I don't see a question here so I'm assuming you are just keeping everyone updated on your current homework project.
|
|
|
|
|
I have a database set up where some columns might have no data entered like in the following example
<br />
record [Column1Data : Column2Data]<br />
record [Column1Data : Column2Data : Column3Data]<br />
I would like to differenciate between the two records by querying the first record that has no data for column3.
I figured on trying
SELECT * FROM TABLE1 WHERE Column1 LIKE 'Column1Data' AND Column2 LIKE 'Column2Data' AND Column3 LIKE ('')
but this returned no records. Is something like this possible or might this be an issue of database setup?
Thanks!
|
|
|
|
|
Nevermind! Found the solution I believe.
for those with curiousity...
Is Null for empty fields
Is Not Null for not empty fields
So for example
SELECT * FROM TABLE WHERE COLUMN1 LIKE 'DATA1' AND COLUMN2 Is Null
This will return all records where column1 is DATA1 and column2 is blank.
"Why are we hiding from the police, Daddy?"
"We use VI, son. They use Emacs."
|
|
|
|
|
I'm pretty new to ADO and need some guidence. I'm using MS Access 2K. I have
three tables. The tables looks as follows:
UserAccounts
------------
UserAcctID (key, autonumber)
UserAcctData
Queues
------
QueueID (key, autonumber)
QueueName
QueueRights
-----------
UserAcctID (foreign key)
QueueID (foreign key)
Rights
I'm using ADO and DCOM so there's potential of multiple admin users trying
to access and modify the tables at one time. I need to ensure that referential
integrity is ensured, and wondered if developers typically use locking mechanisms
or the referential integrity tool in MS Access, or both.
I also, have the following situations, and am not sure of the best way to resolve
them in terms of locking and ensuring that the keys/data won't be out of sync:
1) When one admin is editing another user's account, another admin cannot edit that
user's account. What's the best way to lock the account? Add a lock timestamp
column to UserAccounts?
Also, is this a user-friendly restriction? Do other administration program lock
another user from editing the same account, or do they allow them to edit it and
then notify them that it has changed when it's time to update and for them to reload
and redo what they've done?
2) When an admin is about to update another user's queue rights, I would need to
lock the entire "Queues" table from being added to while records are being added
or updated to the QueueRights table. What's the best way of accomplishing that?
3) Also are there any good websites and/or books that discusses how to resolve
issues with multiple users and databases?
Thanks in advance for any help!
|
|
|
|
|
Hi
I have came across a strange situation . I have an application in VB which I have used ADODB:Command to call Stored procedures in SQL Server . at the beginnig of application I create Commands and set them in Connection .
Set c = New ADODB.Command
c.Name = "DeleteProjIX"
Set c.ActiveConnection = cn
c.CommandText = mPrefix & "DeleteProjIX"
c.CommandType = adCmdStoredProc
c.Parameters.Append c.CreateParameter("@ID", adInteger, adParamInput)
( cn is a valid open ADODB::Connection and mPrefix is a valid String )
This application used to work well until we upgraded to SQLServer 2000 .
using this server and a machine which we have installed client tools of SQLServer 2k , the application seems to 'loose' these stored procedures after a while , so after a completely random cycles ( less than an hour ) we get a message notifying of unrecognised command . stepping through code reveals that there is no command in the connection . this problem does not produce in any specific sequence of actions or specific time . with higher load of server it happens more often . running the application on a SQLServer7 and a client loaded with SQLServer7 client tools , all the problems disappear .
What is the cause of this change ?
I would really appreciate your help
Thanks in advance
|
|
|
|
|
Hi,
I want to create some kind of catalog, where people can look up stuff. There will be approx. 1,000,000 items. The whole thing is supposed to be shipped on a CD. The Database that stores the information needs to be safe, i.e., only viewable with my application. MS Access is not safe enough.
Unfortunately, I have no idea how to develop my own DB. Does anyone know a DB or some code I could use?
Help is greatly appreciated!
Regards,
Dominik
Again, the main points:
- desktop-based
- 1,000,000+ records
- safe
|
|
|
|
|
Actually, I've been involved in creating a simple DBMS. The hard part is making the index file, and it is usually done by some kind of B-TREE data structure. If I were you, I wouldn't bother to develop my own B-TREE implementation, because there is some free code on the Internet . If you can't find any, ask me for a sample.
I vote pro drink
|
|
|
|
|
Have you considered using SQL Server? You can use the MSDE for the desktop and get the benefits of SQL Server. This would also provide an upgrade path. For a 1,000,000 record db I wouldn't even consider Access.
|
|
|
|
|
You need a database that stores the info in an encrypted format. I'm sure you could write one from scratch but there's got to be a database that has some kind of encryption layer built in. Unfortunately I don't know of any offhand but then I'm new to databases myself. Try searching for database + encryption.
|
|
|
|
|
Hi,
I want to create some kind of catalog, where people can look up stuff. There will be approx. 1,000,000 items. The whole thing is supposed to be shipped on a CD. The Database that stores the information needs to be safe, i.e., only viewable with my application. MS Access is not safe enough.
Unfortunately, I have no idea how to develop my own DB. Does anyone know a DB or some code I could use?
Help is greatly appreciated!
Regards,
Dominik
Again, the main points:
- desktop-based
- 1,000,000+ records
- safe
|
|
|
|
|
Hi,
I want to create some kind of catalog, where people can look up stuff. There will be approx. 1,000,000 items. The whole thing is supposed to be shipped on a CD. The Database that stores the information needs to be safe, i.e., only viewable with my application. MS Access is not safe enough.
Unfortunately, I have no idea how to develop my own DB. Does anyone know a DB or some code I could use?
Help is greatly appreciated!
Regards,
Dominik
Again, the main points:
- desktop-based
- 1,000,000+ records
- safe
|
|
|
|
|
Can you write Active Server Pages for a UDB backend? Is there a known white paper on this topic?
|
|
|
|
|
Of course you can. With ASP you would be using ADO to connect to the database. All that you would have to do is change the connection string so that it uses the ADO driver for UDB.
|
|
|
|
|
Has anyone got samples of how to store an image into a SQL Server database.
I'm trying to use C++ and ATL OLEDB. The accessor maps the column to as
BLOB_ENTRY(2, IID_ISequentialStream, STGM_READ, m_image)
and I can load an image using the OleLoadPicture to store it in an IPicture interface. Now I need to be able to get this into the database.
I have tried to change the map to an IStream as it inherits from ISequentialStream
BLOB_ENTRY(2, IID_IStream, STGM_READ, m_image)
then use the IPicture::SaveAsFile(m_image,...) this doesn't work because the m_image pointer is NULL to begin with.
I have tried other methods using IStream::Write, etc. but the SetData or INsert always fails.
|
|
|
|
|
I'm building a data controller module in VC 6.0 that goes against an Access 2000 database. I find that I need the capabilities that OLEDB gives me for replication, securing the DB from the outside world, etc. Since ADO is an easy to implement interface to OLEDB I need opinions on which runs faster in real life, OLEDB or ADO, and how much faster? I've heard from one associate that ADO is slower than ODBC but I need the OLEDB/ADO functionality to satisfy some of my requirements. So my question is which runs faster, ODBC, OLEDB or ADO and by how much?
Roger Cornell
|
|
|
|
|
As far as speed you can eleminate ODBC and that leaves ADO and OLEDB.
If you look at the architecture of these two you see that ADO sits on top of OLEDB ands adds a few things, like IDispatch so it can be used by scripting languages, VB and other lesser;) languages. With that said if you were writing the component in C++ you would diffenately get a performance boost using OLEDB over ADO. How much is hard to say since there are a number of factors that can influence it.
I recently had this discussion with a co-worker and he did find that OLEDB was better when using C++. It also helped improve his code when he started including .h files instead of importing entire type libraries for one interface.
|
|
|
|
|
Agree,
using OLEDB when programming in C++ improves performance (and even readability of the code). You are going more C++ native when using OLEDB than with ADO which is developed for automation programming.
Using ODBC is the fastest (I've heard...) when live and kicking, but it is a mess programming, I gave up after 10 minutes...
OLEDB is almost as easy as ADO and the wizards gives you a lot of help in the beginning...
/WW
|
|
|
|
|
I am writing an OLEDB Wrapper for my company and I've also wrote a benchmarking application to test the speeds, my results indicate that on a 2155 record table OLEDB is about 400ms faster than ADO.
Bret Faller
Odyssey Computing, Inc.
|
|
|
|
|
Faster at doing what exactly? Making a round trip call to the database for a query or update?
Can you share the code for the benchmark application? I would be interested in seeing the performance difference.
|
|
|
|
|
Faster at doing anything and everything. It is tremendously faster at inserting and setting data then ADO. I have the insert test setup to insert 1000 (10 field) empty records then I set each 50 char field one by one and update after each record is written and my results were as follows: ADO: 5638ms and OLE: 2223ms but this is of course with my custom ole wrapper class. Unfortunately I cannot post any of the code because it is property of my company seing as how I wrote it for them, but I might be able to post the program and let people try it out. It is setup as follows: It has 3 panes one on top is a CEditView which you can type any valid SQL statement and execute it. The bottom is a CListView which displays the resulting recordset, and the pane on the right is a CListView which displays the benchmark results in ms. It allows opening any ADO database and any datasource with any provider that is installed on the system. I'll ask my boss if I can post the application if there are enough takers.
Bret Faller
Odyssey Computing, Inc.
|
|
|
|
|
If you are going to use Visual C++ then I can tell you two good reasons why not to use ADO.
1. Easy to develope code using the OLE DB Wizards, the Visual C++ environment does not have the wizards to write code with ADO
2. ADO sits on top of OLEDB. Therefore ADO is not optimised for your specific database, therefore ADO is not efficient.
Generally ADO is used for all non Visual C++ application like Java, VB, VBScript, Delphi. Microsoft don't publish many examples in ADO as they want you to use OLE DB Consumers.
|
|
|
|