Visio reverse engineering MS Access - missing driver - database

I am trying to use the "reverse engineering" feature of Visio to document an existing MS Access database.
I have done that in the past with decent results but I am having an issue at the moment.
Visio doesn’t propose me the MS Access driver - I only have these
Driver options
(Generic ODBC works but is fairly limited in terms of information retrieved).
I am trying to “install” / activate the Access driver but to no avail.
Install options
What am I doing wrong ?
This is Microsoft® Visio® Plan 2 MSO (Version 2206 Build 16.0.15330.20260) 64-bit

If you running office x64 version, then you need to install Access x64, or at the very least install the x64 bit version of the access data engine.
So, since now most office versions default to x64 bits, then you need a x64 bit driver for Access.
You can download the drivers here - they should work:
Microsoft Access Database Engine 2016 Redistributable
https://www.microsoft.com/en-us/download/details.aspx?id=54920
Make sure you choose + install the x64 bit version if you are in fact running office/Visio x64.
Do keep in mind while Visio can pull and diagram the database, the options to create a database or forward engineer a database are long gone and removed from Visio. So changes made to that diagram and the Access schema in that diagram can't be sent back to Access, or any other database.

Related

Oracle Database for SQL Developer

Need some help with choosing the correct database version to use several applications like SQL Developer in conjunction with the db. Yesterday I installed Oracle 18C, which when operating consumes around 3-4 gigs of my ram, what's idle version of Oracle DB to run SQL Developer, Jaspersoft's iReport etc. Below I'll attach the specifications of my laptop.
Processor: i3 6100u
Memory: 8 Gigs of DDR3 Memory
Storage: 1TB 5400 RPM HDD
Operating System: Windows 10 Pro (64-Bit)
Currently using 18.4.0-376.1900 (64 Bit version), it would be awesome if you guys could suggest a DB which will be compatible with this version and also should support things like SQLPlus, Jaspersoft's iReport,PL-SQL etc. Thanking you in advance.
I'd suggest Oracle 11g Express Edition (XE) as you're on Windows; there's 18cXE, but only for Linux. Here's the link: https://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/xe-prior-releases-5172097.html
It is a fully functional, free to use database. True, it has some limitations, but you shouldn't worry about these for what you need. SQL Developer works with it, you can connect other tools to it, it has Oracle Application Express (Apex) installed (version 4.x, but you can upgrade it to the most recent version) ...
Shortly, that's an option you should think about.

How to tell which driver is being used by SQL Server?

I have "inherited" a computer that has multiple ODBC driver's installed on it. Before I go removing anything, how do I tell which driver SQL Server is actually using? Does it just use the most updated one?
I am running SQL Server 2014, version 12.0.5207.0 (64 bit). I am also using SQL Server Management Studio 2017, version 17.5.
Additional question - I am planning to update the ODBC driver to 13.1, would I install the 64 bit since the server is 64 bit? When I look at the ODBC data sources the drivers are installed in both the 32-bit and 64-bit dialogues, so I am a bit confused. Total noob question, I realize, but I am very new to this.
That's not an easy answer. Let's break it into parts.
What driver is being used? The one the application requests. A driver is used by a client application to connect to the server, and the client application is the one that has the final say. You can look at the ODBC data sources configured in the machine to see the driver, but an application might not use an ODBC data source and instead embed the driver name into the application or some configuration file.
How can you tell? One way is to uninstall a driver and see what breaks. Usually not a good plan. Maybe you can use Process Monitor and check if any process load the drivers, but not Always feasible. If in doubt, leave the drivers alone. They are usually small and don't tend to cause trouble on their own.
As for SQL Server database engine and SQL Server Management Studio (SSMS), they normally don't use ODBC drivers. SSMS uses a .NET provider to connect to SQL Server. SQL Server database engine can use an ODBC driver if you have a linked server to another server.
If this is a database server and not an application server, chances are most drivers are rarelly used. If this is an application server, I'd leave the drivers alone. If it's a workstation, probably leave them alone too.
As for the new driver version, you need the 64-bit package to install, and it will install both 32 and 64-bit drivers. The reason is a 32-bit need a 32-bit driver, and a 64-bit application need a 64-bit driver. It's not the server bitness that matter in this case.

SSDT-BI SSIS in x64?

I run Visual Studio 2012 and I'm new to SSIS. I attempted to install SSDT-BI (June 2013 version) in order to research SSIS, but I was unable to complete the install with my default instance because the architectures don't match--my server is x64 while the installer is x86. There doesn't appear to be an x64 version of the installer.
Does SSDT-BI not support x64 databases?
SQL Server Integration Services, SSIS, covers a whole lot of territory. I'll discuss what's relevant to this question of 32 vs 64 bit-ness.
Installation
As you discovered, the installer is stupid but you typically only need to use it once or twice in a machine's lifetime. I'm ok with this as I'd rather them spend development dollars are the product and not the packaging.
Following SO best practice, the important piece from the externally referenced site is
If you’re running an x64-based SQL instance (64-bit), make sure to select “New Instance” on the Installation Type page, and NOT “Add features to an existing instance”.
Package
An SSIS package is a deliverable unit of work. It is an file with a .dtsx and internally is a bunch of XML.
Development
Typically, development of SSIS packages is completed by using Visual Studio. Whether you call it BIDS, SSDT or just Visual Studio, it's the same thing. There are registered templates for SSIS as well as all the toolbox entries that get put onto a machine during installation. That stuff supports the design time aspect. Visual Studio itself is still a 32 bit executable. Therefore, when you are creating packages using Visual Studio, the editor you are using to create a package is a 32 bit entity. Unless you are creating a multi-gig package, this shouldn't be an issue.
And one might argue that if you get a multi-GB package that even if XML is a bloated storage mechanism, you are "doing it wrong" ;)
On a final note, development of packages is not constrained to Visual Studio. There is a paid-for product, Mist, that uses Biml (a domain specific language that describes BI objects) to generate SSIS packages. Looking at your SO history, you look like you have some PowerShell chops, you can use PowerShell to modify SSIS packages or flat out create them. There the EzAPI to help with the COM side of generating packages.
Execution
The execution of a package can be from a 32 or 64 bit executable. See How to execute dtsx packages through command line By default, the packages will execute in 64 bit mode from Visual Studio. The design time is 32 bit but run time is 64 bit. This always makes for great entertainment when folks use 32 bit drivers (Excel/Jet/ACE) and the packages design just fine but blow up when they run. The other gotcha of 32/64 driver is the creation of DSNs as there are 2 different DSN "spaces" See 32-bit informix drivers in 64-bit windows server 2008 are unavailable
In 2012, if you use the Project Deployment Model, the packages are stored in the SSISDB catalog. SQL Server only comes in 64 bit flavors but again you can call the 32 bit runtime for SSIS from the catalog by specifying the appropriate Parameter.
If you're using x64 bit SQL Server, make sure select "new instance" on "Installation Type" page in install wizard. check out http://picnicerror.net/development/sql-server/installing-sql-server-data-tools-business-intelligence-for-visual-studio-2013-03-13/
Recently I had to install SSDT BI for a sql 2014 instance. The download available msdn https://www.microsoft.com/en-us/download/details.aspx?id=42313 says its supported for both 32-bit (x86) & 64-bit (x64) architecture. If we install SSDT-BI as an add on feature to an existing sql instance the installation fails with error:
Rule evaluation message: The CPU architecture of installing feature(s) is different than the instance specified. To continue, add features to this instance with the same architecture.
I referred this link https://danieladeniji.wordpress.com/tag/the-cpu-architecture-of-installation-features-is-different-than-the-instance-specified-to-continue-add-features-to-this-instance-with-the-same-architecture/
to work around this issue.
Installing SSDT-BI as as new instance completed without any errors.

Accessing Access 2010 (x64) .accdb database from WPF application (targetting x86)?

I have the following environment:
Windows 7 Ultimate 64-bit
MS office (with Access) 2010 64-bit
I am developing an application in VS 2010 and the application is being developed for x86 CPU.
I am using DataSet to connect to the database and I am using the NewConnection wizard to connect to the database.
I want to use an access database for data storage. (.accdb file)
I downloaded and installed the Access Database engine (64 bit).
When i use:
Microsoft.Jet.OLEDB.4.0 - I get an error that the database format is not readable!!
Microsoft.ACE.OLEDB.12.0 - I get an error that the Microsoft.ACE.OLEDB.12.0 driver is not registered on the local machine!
Please help me find a solution to the problem.
Since there is no answer, this is the solution applied:
I installed the Access Database Engine, available as a download from Microsoft and it worked.
This was the latest version available and had the appropriate driver for database access.

What are some free SQL Server Management Studio on a Mac

What are some SQL Server Management Studio tools (preferably free) for the Mac that can be used to do development work on SQL Server?
Azure Data Studio
Microsoft is providing cross platform database tool for it's own Cloud/On-Prem Database platforms. I am using it on MacOS High Sierra. It is free to use and offers almost all features from Windows based SSMS.
Installer
Documentation
Source Code Repo
I prefer the official Microsoft tool: Azure Data Studio. It can perform all regular database tasks.
I Use RazorSQL on my Mac and it's pretty solid. It doesn't fully compare to SMS, but it's good none the less --- about as good as the comparison between "Mono Develop" and "Visual Studio".
It's not "free" but at $70 it's a steal.

Resources