By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,395 Members | 2,541 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,395 IT Pros & Developers. It's quick & easy.

HELP with programmatically creating a blank Microsoft Access DB file in C#.NET

P: n/a
Anybody here who can explain or point me to a link ?

I wish to create a blank MS Access DB file programmatically
using C# .
Thanks, nfs
Nov 15 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a
I don't want to deal with the Access app in way, shape. or form
though. I am hoping to do this 100% via the C# code.

I found this so far

Programmers often need to create databases programmatically. Although
neither ActiveX Data Objects (ADO) nor ADO.NET provide the means to
create Microsoft Access databases automatically, you can use the
Microsoft Jet OLE DB Provider and Microsoft ADO Ext. 2.7 for DDL and
Security (ADOX) through the COM Interop layer to create databases
manually

so, this upsets me.
On Mon, 21 Jul 2003 22:46:21 -0700, "Jon Davis"
<jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
I believe you're missing my answer...

Access is only used once, to generate an empty template. Use C# to copy the
template file to your destination. Shall I create one for you? Shall I make
a C# assembly with this file bundled in it as a resource?

I don't believe Jet offers database file creation services.

Jon
"Null Reference" <Or****@ywam.org> wrote in message
news:2i********************************@4ax.com.. .

I believe you're missing the main question..

I'm wanting to create the Access .mdb file programmatically via my C#
code. I can create the tables and everything already via my C# code to
a blank .mdb file.

I just don't want to use Access to create anything.

nfs

On Mon, 21 Jul 2003 21:24:45 -0700, "Jon Davis"
<jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
>Try this (untested)...
>
>Create a database file in Access.
>Copy the file somewhere. This is a template file.
>When you want to create an Access database, copy the template file towhere >you want it, and rename the file appropriately.
>Use Jet's SQL language to create new tables, etc, over OleDb.
>
>HTH,
>Jon
>
>
>"Null Reference" <Or****@ywam.org> wrote in message
>news:gn********************************@4ax.com.. .
>> Anybody here who can explain or point me to a link ?
>>
>> I wish to create a blank MS Access DB file programmatically
>> using C# .
>>
>>
>> Thanks, nfs
>


Nov 15 '05 #2

P: n/a
Jon,

I figured out how to get it accomplished finally. The internet is damn
vast that weeding through the haystack of pages I finally found the
needle I was looking for..
using System;
using ADOX;

public class CreateDB
{
public static void Main( string [] args )
{
ADOX.CatalogClass cat = new ADOX.CatalogClass();

string create =
@"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=L:\Programming\IO\Convert\LogBook2.mdb;" +
"Jet OLEDB:Engine Type=5";

cat.Create(create);

cat = null;
}

}

Thanks for actually giving some of your time to look at my question!

nfs

On Tue, 22 Jul 2003 07:14:20 GMT, Null Reference <Or****@ywam.org>
wrote:
I don't want to deal with the Access app in way, shape. or form
though. I am hoping to do this 100% via the C# code.

I found this so far

Programmers often need to create databases programmatically. Although
neither ActiveX Data Objects (ADO) nor ADO.NET provide the means to
create Microsoft Access databases automatically, you can use the
Microsoft Jet OLE DB Provider and Microsoft ADO Ext. 2.7 for DDL and
Security (ADOX) through the COM Interop layer to create databases
manually

so, this upsets me.
On Mon, 21 Jul 2003 22:46:21 -0700, "Jon Davis"
<jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
I believe you're missing my answer...

Access is only used once, to generate an empty template. Use C# to copy the
template file to your destination. Shall I create one for you? Shall I make
a C# assembly with this file bundled in it as a resource?

I don't believe Jet offers database file creation services.

Jon
"Null Reference" <Or****@ywam.org> wrote in message
news:2i********************************@4ax.com. ..

I believe you're missing the main question..

I'm wanting to create the Access .mdb file programmatically via my C#
code. I can create the tables and everything already via my C# code to
a blank .mdb file.

I just don't want to use Access to create anything.

nfs

On Mon, 21 Jul 2003 21:24:45 -0700, "Jon Davis"
<jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:

>Try this (untested)...
>
>Create a database file in Access.
>Copy the file somewhere. This is a template file.
>When you want to create an Access database, copy the template file to

where
>you want it, and rename the file appropriately.
>Use Jet's SQL language to create new tables, etc, over OleDb.
>
>HTH,
>Jon
>
>
>"Null Reference" <Or****@ywam.org> wrote in message
>news:gn********************************@4ax.com.. .
>> Anybody here who can explain or point me to a link ?
>>
>> I wish to create a blank MS Access DB file programmatically
>> using C# .
>>
>>
>> Thanks, nfs
>


Nov 15 '05 #3

P: n/a
It's nice but now I'm entertaining the template idea you mentioned.
The result DB file was 40MB as opposed to 3 MB :(
On Tue, 22 Jul 2003 16:07:33 -0700, "Jon Davis"
<jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
Cool!

I've never worked with the ADOX namespace before... hmm...

Jon

"Null Reference" <Or****@ywam.org> wrote in message
news:an********************************@4ax.com.. .
Jon,

I figured out how to get it accomplished finally. The internet is damn
vast that weeding through the haystack of pages I finally found the
needle I was looking for..
using System;
using ADOX;

public class CreateDB
{
public static void Main( string [] args )
{
ADOX.CatalogClass cat = new ADOX.CatalogClass();

string create =
@"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=L:\Programming\IO\Convert\LogBook2.mdb;" +
"Jet OLEDB:Engine Type=5";

cat.Create(create);

cat = null;
}

}

Thanks for actually giving some of your time to look at my question!

nfs

On Tue, 22 Jul 2003 07:14:20 GMT, Null Reference <Or****@ywam.org>
wrote:
>I don't want to deal with the Access app in way, shape. or form
>though. I am hoping to do this 100% via the C# code.
>
>I found this so far
>
>Programmers often need to create databases programmatically. Although
>neither ActiveX Data Objects (ADO) nor ADO.NET provide the means to
>create Microsoft Access databases automatically, you can use the
>Microsoft Jet OLE DB Provider and Microsoft ADO Ext. 2.7 for DDL and
>Security (ADOX) through the COM Interop layer to create databases
>manually
>
>so, this upsets me.
>
>
>On Mon, 21 Jul 2003 22:46:21 -0700, "Jon Davis"
><jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
>
>>I believe you're missing my answer...
>>
>>Access is only used once, to generate an empty template. Use C# to copythe >>template file to your destination. Shall I create one for you? Shall Imake >>a C# assembly with this file bundled in it as a resource?
>>
>>I don't believe Jet offers database file creation services.
>>
>>Jon
>>
>>
>>"Null Reference" <Or****@ywam.org> wrote in message
>>news:2i********************************@4ax.com. ..
>>>
>>> I believe you're missing the main question..
>>>
>>> I'm wanting to create the Access .mdb file programmatically via my C#
>>> code. I can create the tables and everything already via my C# code to
>>> a blank .mdb file.
>>>
>>> I just don't want to use Access to create anything.
>>>
>>> nfs
>>>
>>>
>>>
>>> On Mon, 21 Jul 2003 21:24:45 -0700, "Jon Davis"
>>> <jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
>>>
>>> >Try this (untested)...
>>> >
>>> >Create a database file in Access.
>>> >Copy the file somewhere. This is a template file.
>>> >When you want to create an Access database, copy the template file to
>>where
>>> >you want it, and rename the file appropriately.
>>> >Use Jet's SQL language to create new tables, etc, over OleDb.
>>> >
>>> >HTH,
>>> >Jon
>>> >
>>> >
>>> >"Null Reference" <Or****@ywam.org> wrote in message
>>> >news:gn********************************@4ax.com.. .
>>> >> Anybody here who can explain or point me to a link ?
>>> >>
>>> >> I wish to create a blank MS Access DB file programmatically
>>> >> using C# .
>>> >>
>>> >>
>>> >> Thanks, nfs
>>> >
>>>
>>


Nov 15 '05 #4

P: n/a
Compress it. J# has zipping ability. Zipped access files compress by as much
as 99%.

Jon
"MsJuLiE" <Ms*****@wanadoo.fr> wrote in message
news:sh********************************@4ax.com...
It's nice but now I'm entertaining the template idea you mentioned.
The result DB file was 40MB as opposed to 3 MB :(
On Tue, 22 Jul 2003 16:07:33 -0700, "Jon Davis"
<jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
Cool!

I've never worked with the ADOX namespace before... hmm...

Jon

"Null Reference" <Or****@ywam.org> wrote in message
news:an********************************@4ax.com.. .
Jon,

I figured out how to get it accomplished finally. The internet is damn
vast that weeding through the haystack of pages I finally found the
needle I was looking for..
using System;
using ADOX;

public class CreateDB
{
public static void Main( string [] args )
{
ADOX.CatalogClass cat = new ADOX.CatalogClass();

string create =
@"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=L:\Programming\IO\Convert\LogBook2.mdb;" +
"Jet OLEDB:Engine Type=5";

cat.Create(create);

cat = null;
}

}

Thanks for actually giving some of your time to look at my question!

nfs

On Tue, 22 Jul 2003 07:14:20 GMT, Null Reference <Or****@ywam.org>
wrote:

>I don't want to deal with the Access app in way, shape. or form
>though. I am hoping to do this 100% via the C# code.
>
>I found this so far
>
>Programmers often need to create databases programmatically. Although
>neither ActiveX Data Objects (ADO) nor ADO.NET provide the means to
>create Microsoft Access databases automatically, you can use the
>Microsoft Jet OLE DB Provider and Microsoft ADO Ext. 2.7 for DDL and
>Security (ADOX) through the COM Interop layer to create databases
>manually
>
>so, this upsets me.
>
>
>On Mon, 21 Jul 2003 22:46:21 -0700, "Jon Davis"
><jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
>
>>I believe you're missing my answer...
>>
>>Access is only used once, to generate an empty template. Use C# to copy
the
>>template file to your destination. Shall I create one for you? Shall
Imake
>>a C# assembly with this file bundled in it as a resource?
>>
>>I don't believe Jet offers database file creation services.
>>
>>Jon
>>
>>
>>"Null Reference" <Or****@ywam.org> wrote in message
>>news:2i********************************@4ax.com. ..
>>>
>>> I believe you're missing the main question..
>>>
>>> I'm wanting to create the Access .mdb file programmatically via my

C# >>> code. I can create the tables and everything already via my C# code to >>> a blank .mdb file.
>>>
>>> I just don't want to use Access to create anything.
>>>
>>> nfs
>>>
>>>
>>>
>>> On Mon, 21 Jul 2003 21:24:45 -0700, "Jon Davis"
>>> <jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
>>>
>>> >Try this (untested)...
>>> >
>>> >Create a database file in Access.
>>> >Copy the file somewhere. This is a template file.
>>> >When you want to create an Access database, copy the template file to >>where
>>> >you want it, and rename the file appropriately.
>>> >Use Jet's SQL language to create new tables, etc, over OleDb.
>>> >
>>> >HTH,
>>> >Jon
>>> >
>>> >
>>> >"Null Reference" <Or****@ywam.org> wrote in message
>>> >news:gn********************************@4ax.com.. .
>>> >> Anybody here who can explain or point me to a link ?
>>> >>
>>> >> I wish to create a blank MS Access DB file programmatically
>>> >> using C# .
>>> >>
>>> >>
>>> >> Thanks, nfs
>>> >
>>>
>>

Nov 15 '05 #5

P: n/a
Compress it. J#'s libraries (which you can freely utilize in C#) have a zip
library. Zipped access files compress by as much
as 99%.

Jon

"MsJuLiE" <Ms*****@wanadoo.fr> wrote in message
news:sh********************************@4ax.com...
It's nice but now I'm entertaining the template idea you mentioned.
The result DB file was 40MB as opposed to 3 MB :(
On Tue, 22 Jul 2003 16:07:33 -0700, "Jon Davis"
<jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
Cool!

I've never worked with the ADOX namespace before... hmm...

Jon

"Null Reference" <Or****@ywam.org> wrote in message
news:an********************************@4ax.com.. .
Jon,

I figured out how to get it accomplished finally. The internet is damn
vast that weeding through the haystack of pages I finally found the
needle I was looking for..
using System;
using ADOX;

public class CreateDB
{
public static void Main( string [] args )
{
ADOX.CatalogClass cat = new ADOX.CatalogClass();

string create =
@"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=L:\Programming\IO\Convert\LogBook2.mdb;" +
"Jet OLEDB:Engine Type=5";

cat.Create(create);

cat = null;
}

}

Thanks for actually giving some of your time to look at my question!

nfs

On Tue, 22 Jul 2003 07:14:20 GMT, Null Reference <Or****@ywam.org>
wrote:

>I don't want to deal with the Access app in way, shape. or form
>though. I am hoping to do this 100% via the C# code.
>
>I found this so far
>
>Programmers often need to create databases programmatically. Although
>neither ActiveX Data Objects (ADO) nor ADO.NET provide the means to
>create Microsoft Access databases automatically, you can use the
>Microsoft Jet OLE DB Provider and Microsoft ADO Ext. 2.7 for DDL and
>Security (ADOX) through the COM Interop layer to create databases
>manually
>
>so, this upsets me.
>
>
>On Mon, 21 Jul 2003 22:46:21 -0700, "Jon Davis"
><jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
>
>>I believe you're missing my answer...
>>
>>Access is only used once, to generate an empty template. Use C# to copy
the
>>template file to your destination. Shall I create one for you? Shall
Imake
>>a C# assembly with this file bundled in it as a resource?
>>
>>I don't believe Jet offers database file creation services.
>>
>>Jon
>>
>>
>>"Null Reference" <Or****@ywam.org> wrote in message
>>news:2i********************************@4ax.com. ..
>>>
>>> I believe you're missing the main question..
>>>
>>> I'm wanting to create the Access .mdb file programmatically via my

C# >>> code. I can create the tables and everything already via my C# code to >>> a blank .mdb file.
>>>
>>> I just don't want to use Access to create anything.
>>>
>>> nfs
>>>
>>>
>>>
>>> On Mon, 21 Jul 2003 21:24:45 -0700, "Jon Davis"
>>> <jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
>>>
>>> >Try this (untested)...
>>> >
>>> >Create a database file in Access.
>>> >Copy the file somewhere. This is a template file.
>>> >When you want to create an Access database, copy the template file to >>where
>>> >you want it, and rename the file appropriately.
>>> >Use Jet's SQL language to create new tables, etc, over OleDb.
>>> >
>>> >HTH,
>>> >Jon
>>> >
>>> >
>>> >"Null Reference" <Or****@ywam.org> wrote in message
>>> >news:gn********************************@4ax.com.. .
>>> >> Anybody here who can explain or point me to a link ?
>>> >>
>>> >> I wish to create a blank MS Access DB file programmatically
>>> >> using C# .
>>> >>
>>> >>
>>> >> Thanks, nfs
>>> >
>>>
>>

Nov 15 '05 #6

P: n/a
see attachment

Jon
"Jon Davis" <jo*@REMOVE.ME.PLEASE.jondavis.net> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
Ehhh .. see attached file, which is only 96KB. Where are you getting your
40MB?

The template file should be BLANK (no tables)!

Jon
"MsJuLiE" <Ms*****@wanadoo.fr> wrote in message
news:sh********************************@4ax.com...
It's nice but now I'm entertaining the template idea you mentioned.
The result DB file was 40MB as opposed to 3 MB :(
On Tue, 22 Jul 2003 16:07:33 -0700, "Jon Davis"
<jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
Cool!

I've never worked with the ADOX namespace before... hmm...

Jon

"Null Reference" <Or****@ywam.org> wrote in message
news:an********************************@4ax.com.. .
> Jon,
>
> I figured out how to get it accomplished finally. The internet is damn> vast that weeding through the haystack of pages I finally found the
> needle I was looking for..
>
>
> using System;
> using ADOX;
>
> public class CreateDB
> {
> public static void Main( string [] args )
> {
> ADOX.CatalogClass cat = new ADOX.CatalogClass();
>
> string create =
> @"Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source=L:\Programming\IO\Convert\LogBook2.mdb;" +
> "Jet OLEDB:Engine Type=5";
>
> cat.Create(create);
>
> cat = null;
> }
>
> }
>
>
>
>
>
> Thanks for actually giving some of your time to look at my question!
>
> nfs
>
>
>
> On Tue, 22 Jul 2003 07:14:20 GMT, Null Reference <Or****@ywam.org>
> wrote:
>
> >I don't want to deal with the Access app in way, shape. or form
> >though. I am hoping to do this 100% via the C# code.
> >
> >I found this so far
> >
> >Programmers often need to create databases programmatically. Although> >neither ActiveX Data Objects (ADO) nor ADO.NET provide the means to
> >create Microsoft Access databases automatically, you can use the
> >Microsoft Jet OLE DB Provider and Microsoft ADO Ext. 2.7 for DDL and
> >Security (ADOX) through the COM Interop layer to create databases
> >manually
> >
> >so, this upsets me.
> >
> >
> >On Mon, 21 Jul 2003 22:46:21 -0700, "Jon Davis"
> ><jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
> >
> >>I believe you're missing my answer...
> >>
> >>Access is only used once, to generate an empty template. Use C# to copythe
> >>template file to your destination. Shall I create one for you?
Shall
Imake
> >>a C# assembly with this file bundled in it as a resource?
> >>
> >>I don't believe Jet offers database file creation services.
> >>
> >>Jon
> >>
> >>
> >>"Null Reference" <Or****@ywam.org> wrote in message
> >>news:2i********************************@4ax.com. ..
> >>>
> >>> I believe you're missing the main question..
> >>>
> >>> I'm wanting to create the Access .mdb file programmatically via
my
C#> >>> code. I can create the tables and everything already via my C#
code
to> >>> a blank .mdb file.
> >>>
> >>> I just don't want to use Access to create anything.
> >>>
> >>> nfs
> >>>
> >>>
> >>>
> >>> On Mon, 21 Jul 2003 21:24:45 -0700, "Jon Davis"
> >>> <jo*@REMOVE.ME.PLEASE.jondavis.net> wrote:
> >>>
> >>> >Try this (untested)...
> >>> >
> >>> >Create a database file in Access.
> >>> >Copy the file somewhere. This is a template file.
> >>> >When you want to create an Access database, copy the template
file
to> >>where
> >>> >you want it, and rename the file appropriately.
> >>> >Use Jet's SQL language to create new tables, etc, over OleDb.
> >>> >
> >>> >HTH,
> >>> >Jon
> >>> >
> >>> >
> >>> >"Null Reference" <Or****@ywam.org> wrote in message
> >>> >news:gn********************************@4ax.com.. .
> >>> >> Anybody here who can explain or point me to a link ?
> >>> >>
> >>> >> I wish to create a blank MS Access DB file programmatically
> >>> >> using C# .
> >>> >>
> >>> >>
> >>> >> Thanks, nfs
> >>> >
> >>>
> >>
>




Nov 15 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.