[dba-VB] Running .NET 32 bit apps with Jet databases on Windows 7Ultimate 64 bit

Shamil Salakhetdinov shamil at smsconsulting.spb.ru
Tue Jan 26 08:51:18 CST 2010


Hi Mark and all,

I have posted another test here:

http://sms-web.biz/jet/AnotherTest.zip

It has Jet db communication within class library:

- JetDbTest.ConsoleApp.exe - FE
- JetDbTest.ClassLibrary.dll - classlib

 and it also has two versions of executables"

- 1st - compiled for any CPU;
- 2nd - compiled for x86 CPU - 32 bit

Could you please test how that will work?

Current hypothesis/expectation here are that:

- first one (any CPU) will need to use CorFlags.EXE run against at least
JetDbTest.ConsoleApp.exe, and at most both JetDbTest.ConsoleApp.exe and
JetDbTest.ClassLibrary.dll;

- and second one should run OK "out-of-the-box" on your system as it was
compiled for 32 bit system and your 64bit system (AFAIU) has got MS Jet 4
OLE DB 32bit Drivers already installed.

Thank you.

--
Shamil

-----Original Message-----
From: dba-vb-bounces at databaseadvisors.com
[mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Mark Breen
Sent: Tuesday, January 26, 2010 3:16 PM
To: Discussion concerning Visual Basic and related programming issues.
Subject: Re: [dba-VB] Running .NET 32 bit apps with Jet databases on Windows
7Ultimate 64 bit

Hell Shamil,

As you know, your program did not work here on Win2k8 Server machine.

When I ran core flags it runs well. Coreflags runs in 1 second or less.

Here is the text from the steps I did.  The text is long but the commands
are at the bottom.

Approx price for the machine you spec-ed is between 600 - 800 euro.

thanks

Mark


====================================
Table of Contents
====================================
1-the error I got
2-Result after running Core Flags
3-Contents of the command I ran on W2k8 to turn on 32 bit mode
4-Contents of the command I ran on W2k8 to turn off 32 bit mode
5-Result of turning on 32 bit mode
6-Result of turning off 32 bit mode



====================================
1-Error 1
====================================


LOG: 26/01/2010 11:31:29 - JobDbTest.Console - v.0.0.1 (26-JAN-10) test
started.

LOG: 26/01/2010 11:31:29 - Select test started.
LOG: 26/01/2010 11:31:29 - SelectTest: The 'Microsoft.Jet.OLEDB.4.0'
provider is
 not registered on the local machine.
STACK TRACE:
   at
System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString
 constr, DataSourceWrapper& datasrcWrapper)
   at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString
cons
tr, OleDbConnection connection)
   at
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOpti
ons options, Object poolGroupProviderInfo, DbConnectionPool pool,
DbConnection o
wningObject)
   at
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbC
onnection owningConnection, DbConnectionPoolGroup poolGroup)
   at
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection ow
ningConnection)
   at
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection ou
terConnection, DbConnectionFactory connectionFactory)
   at System.Data.OleDb.OleDbConnection.Open()
   at JetDbTest.ConsoleApp.SelectTest.Run()
LOG: 26/01/2010 11:31:29 - Select test finished.
LOG: 26/01/2010 11:31:29 - Insert test started.
LOG: 26/01/2010 11:31:29 - Insert: The 'Microsoft.Jet.OLEDB.4.0' provider is
not
 registered on the local machine.
STACK TRACE:
   at
System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString
 constr, DataSourceWrapper& datasrcWrapper)
   at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString
cons
tr, OleDbConnection connection)
   at
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOpti
ons options, Object poolGroupProviderInfo, DbConnectionPool pool,
DbConnection o
wningObject)
   at
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbC
onnection owningConnection, DbConnectionPoolGroup poolGroup)
   at
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection ow
ningConnection)
   at
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection ou
terConnection, DbConnectionFactory connectionFactory)
   at System.Data.OleDb.OleDbConnection.Open()
   at JetDbTest.ConsoleApp.InsertTest.Run()
LOG: 26/01/2010 11:31:29 - Insert test finished.
LOG: 26/01/2010 11:31:29 - Update test started.
LOG: 26/01/2010 11:31:29 - Update: The 'Microsoft.Jet.OLEDB.4.0' provider is
not
 registered on the local machine.
STACK TRACE:
   at
System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString
 constr, DataSourceWrapper& datasrcWrapper)
   at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString
cons
tr, OleDbConnection connection)
   at
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOpti
ons options, Object poolGroupProviderInfo, DbConnectionPool pool,
DbConnection o
wningObject)
   at
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbC
onnection owningConnection, DbConnectionPoolGroup poolGroup)
   at
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection ow
ningConnection)
   at
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection ou
terConnection, DbConnectionFactory connectionFactory)
   at System.Data.OleDb.OleDbConnection.Open()
   at JetDbTest.ConsoleApp.UpdateTest.Run()
LOG: 26/01/2010 11:31:29 - Update test finished.
LOG: 26/01/2010 11:31:29 - Delete test started.
LOG: 26/01/2010 11:31:29 - Delete: The 'Microsoft.Jet.OLEDB.4.0' provider is
not
 registered on the local machine.
STACK TRACE:
   at
System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString
 constr, DataSourceWrapper& datasrcWrapper)
   at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString
cons
tr, OleDbConnection connection)
   at
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOpti
ons options, Object poolGroupProviderInfo, DbConnectionPool pool,
DbConnection o
wningObject)
   at
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbC
onnection owningConnection, DbConnectionPoolGroup poolGroup)
   at
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection ow
ningConnection)
   at
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection ou
terConnection, DbConnectionFactory connectionFactory)
   at System.Data.OleDb.OleDbConnection.Open()
   at JetDbTest.ConsoleApp.DeleteTest.Run()
LOG: 26/01/2010 11:31:29 - Delete test finished.
LOG: 26/01/2010 11:31:29 - JobDbTest.Console - v.0.0.1 (26-JAN-10) test
finished
.
Press any key to continue...




====================================
2-Result after running Core Flags
====================================
LOG: 26/01/2010 12:05:08 - JobDbTest.Console - v.0.0.1 (26-JAN-10) test
started.

LOG: 26/01/2010 12:05:08 - Select test started.
LOG: 26/01/2010 12:05:09 - 1. 1 - Speedy Express - (503) 555-9831
LOG: 26/01/2010 12:05:09 - 2. 2 - United Package - (503) 555-3199
LOG: 26/01/2010 12:05:09 - 3. 3 - Federal Shipping - (503) 555-9931
LOG: 26/01/2010 12:05:09 - Select test finished.
LOG: 26/01/2010 12:05:09 - Insert test started.
LOG: 26/01/2010 12:05:09 - ret = 1
LOG: 26/01/2010 12:05:09 - Insert test finished.
LOG: 26/01/2010 12:05:09 - Update test started.
LOG: 26/01/2010 12:05:09 - ret = 1
LOG: 26/01/2010 12:05:09 - Update test finished.
LOG: 26/01/2010 12:05:09 - Delete test started.
LOG: 26/01/2010 12:05:09 - ret = 1
LOG: 26/01/2010 12:05:09 - Delete test finished.
LOG: 26/01/2010 12:05:09 - JobDbTest.Console - v.0.0.1 (26-JAN-10) test
finished
.
Press any key to continue...


====================================
3-Contents of the command I ran on W2k8 to turn on 32 bit mode
====================================
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\CorFlags.EXE"
c:\64Bit\JetDbTest.ConsoleApp.Exe /32Bit+


====================================
4-Contents of the command I ran on W2k8 to turn off 32 bit mode
====================================
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\CorFlags.EXE"
c:\64Bit\JetDbTest.ConsoleApp.Exe /32Bit-



====================================
5-Result of turning on 32 bit mode
====================================


C:\64BIT>"C:\Program Files\Microsoft
SDKs\Windows\v6.0A\Bin\x64\CorFlags.EXE" c:
\64Bit\JetDbTest.ConsoleApp.Exe /32Bit+
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  3.5.21022.8
Copyright (c) Microsoft Corporation.  All rights reserved.


C:\64BIT>pause
Press any key to continue . . .





====================================
6-Result of turning off 32 bit mode
====================================

C:\64BIT>"C:\Program Files\Microsoft
SDKs\Windows\v6.0A\Bin\x64\CorFlags.EXE" c:
\64Bit\JetDbTest.ConsoleApp.Exe /32Bit-
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  3.5.21022.8
Copyright (c) Microsoft Corporation.  All rights reserved.


C:\64BIT>pause
Press any key to continue . . .







2010/1/26 Shamil Salakhetdinov <shamil at smsconsulting.spb.ru>

> Hi Bill --
>
> I have posted my sample test executable here:
>
> http://sms-web.biz/jet/64BIT.zip
>
> BTW, AFAIU the following trick should help to run this sample app on 64bit
> system:
>
>
>
http://blogs.intesoft.net/post/2007/12/Running-NET-Apps-in-32-bit-mode-on-64
> -bit-Windows.aspx
>
> Thank you.
>
> --
> Shamil
>
>
_______________________________________________
dba-VB mailing list
dba-VB at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/dba-vb
http://www.databaseadvisors.com






More information about the dba-VB mailing list