Skip to main content

How to troubleshoot MSAccess OleDb under Windows 7 64 bits

If you had a C# application with MS Access Database that did compile under Vista 32 bits with this connection string in app.config:



[%--[configuration> [configsections> [/configsections> [connectionstrings> [add name="MyConnectionString" connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\mydb.mdb" providername="System.Data.OleDb"> [/add> [/connectionstrings--%>



You bought a brand new PC with Windows 7 64 bits and bad surprise when building your program again you got this dreadfull message error:



Microsoft.Jet.OLEDB.4.0 provider is not registered on the local machine



[%--using (OleDbConnection con = new OleDbConnection()) { ConnectionStringSettings connectionStringSettings = ConfigurationManager.ConnectionStrings["MyConnectionString"]; con.ConnectionString = connectionStringSettings; con.Open();--%>



No panic, you just have to change the Platform Target in Visual Studio Settings | Build tab to x86. Problem is for Visual Studio Express because there is unfortunaly no such options even in “advanced” button.



Nevertheless you can edit your visual studio c# project file (.csproj) and put this snippet:



[%--[platformtarget>x86[/platformtarget>--%>



inside



[%--[propertygroup condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">--%>



This should solve the problem !



Comments: Replace [ with <

Comments

Popular posts from this blog

Call User-defined Function on Linked Server :SQL Server

If you try to invoke a user-defined function (UDF) through a linked server in SQL Server by using a "four-part naming" convention (server.database.dbo.Function), you may receive error message.  The reason is User-defined function calls inside a four-part linked server query are not supported in SQL Server. Thats why error message indicates that the syntax of a Transact-SQL statement is incorrect.  To work around this problem, use the Openquery function instead of the four-part naming convention. For example, instead of the following query Select * from Linked_Server.database.dbo.Function(10) run a query with the Openquery function: Select * from Openquery(Linked_Server,'select database.dbo.Function(10)') If the user-defined function takes variable or scalar parameters, you can use the sp_executesql stored procedure to avoid this behavior.  For example: exec Linked_Server.database.dbo.sp_executesql N'SELECT database.dbo.Function(@input)',N'@input

Unable to open physical file - Operating system error 5: 5(error not found) Microsoft SQL Server: Error 5120

I am trying to attach a database to SQL 2005. This database has not previously been attached. I have only just installed SQL. I get the following message: Unable to open physical file "C:\ArrowSQL\Arr@Data\Arrow_data.mdf" Operating system error 5: "5(error not found)" (Microsoft SQL Server: Error 5120)". I have loaded SQL and the database fiel and directory with the same user acccount which is a local adminstrator ont hsi machine. I have checked that I have read/write access to the file. The machine runs Windows Vista Business. SQL has SP 2 loaded. Use the below script to find the sql service account Code Snippet declare  @sqlser  varchar ( 20 ) EXEC  master .. xp_regread @rootkey = 'HKEY_LOCAL_MACHINE' , @key = 'SYSTEM\CurrentControlSet\Services\MSSQLSERVER' , @value_name = 'objectname' ,  @value = @sqlser  OUTPUT PRINT   'Account Starting SQL Server Service:'  + convert ( varchar ( 30 ), @sqlser ) After getting the servi

Configuring CORS in IIS - Response to preflight request doesn't pass access control check: It does not have HTTP ok status

The Access-Control-Allow-Origin Header Explained – With a CORS Example Often times when calling an API, you may see an error in your console that looks like this: Access to fetch at 'http://somesite.com' from origin 'http://yoursite.com' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value that is not equal to the supplied origin Add following in <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Methods" value="*" /> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="*" /> </customHeaders> </system.webServer> After adding the above code in web.config, received the following error in response. .... Has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: