Successful SOLIDWORKS Electrical Client/Server Connection

Article by Michael Nolte on Apr 12, 2022

If you’re reading this article, you are either thinking of buying SOLIDWORKS Electrical or you are an existing user and experiencing issues. This could either be SOLIDWORKS Electrical Schematics, the standalone program, or the SOLIDWORKS Electrical 3D add-in for the SOLIDWORKS CAD software. This article is also intended for companies that have their SOLIDWORKS Electrical server installed on a system, other than the one running the Electrical Schematics program or the Electrical 3D add-in. In meaning that it is possible to run the SOLIDWORKS Electrical server on the same system that is running the end Electrical client products. This article would be less helpful for this last install scenario.

Understanding the Basics

The SOLIDWORKS Electrical Server has three components that it needs, with a possible fourth:

  1. SOLIDWORKS Electrical Collaborative Server service
  2. Microsoft SQL database, just for Electrical
  3. Working / Program Data directory that is a shared read/write network folder
  4. If using network licensing, the SolidNetWork Licensing server may also be needed

For the SOLIDWORKS Electrical Schematics program or SOLIDWORKS Electrical 3D add-in to be fully functional, all three (or four) items need to be running and have a good, unblocked, bidirectional connection established. 

We’ll get more into this later.

The SOLIDWORKS Electrical end user (Client) requirements:

  1. The SOLIDWORKS Electrical Program is allowed to run on the client system. Just because you think you have administrative rights to your system doesn’t mean that the company Antivirus says otherwise. Or for that matter, company Domain protocols are pushed to your system and blocking the software.
  2. If running a Network license for SOLIDWORKS Electrical, open ports for SolidNetWork Licensing.
  3. The Application Settings in the software, setup correctly to connect to the server and the shared network Working folder.

Note: In a hurry? Jump to the end of this article to the Summary section to get the Firewall ports and potential program exceptions.

Deeper Dive

#1. SOLIDWORKS Electrical Collaborative Server service

Let’s dig into the SOLIDWORKS Electrical Collaborative Server service first. What is it? What does it do for a SOLIDWORKS Electrical user? How does it communicate between the Electrical end user and the Electrical Server?

What it is

 The SOLIDWORKS Electrical Collaborative Server service is a Windows Service that resides in the Windows Services Manager (CMD: services.msc) that gets installed when the Electrical Server is installed.

Here it is in the SOLIDWORKS Installation Manager:

SOLIDWORKS Electrical Collaborative Server Option in Installation Manager

Here it is in the Windows Services Manager, Running and set to Automatic after a successful install:

SOLIDWORKS Electrical Collaborative Server in Windows Services Manager

What it does

 “The Collaborative Server is used to monitor the SQL Server and let each user know who is editing any document in a SOLIDWORKS Electrical project.” (SOLIDWORKS KB Article S-063447)

This Windows service must reside on the same server that is running the SQL Server and be set to Automatic. This way, when the server is started, the service is started back up.

And just to drive the point home per another SOLIDWORKS Corporate Knowledgebase article, “The Collaborative Server should reside only on the server machine (not an additional install of this service on client systems) and it must remain on the same server as the SQL Server. Otherwise, the installation will render the monitoring service useless.”

So, if this service did get installed locally on your system you should either uninstall it or set it to disabled and stop the service.

How it communicates

The SOLIDWORKS Electrical Collaborative Server service communicates on a standard single port, if single-user. In a multiple users environment, it will need a range of ports. The default communication is on the bi-directional TCP port is 26666 for a single user. If you have multiple users either using the SOLIDWORKS Electrical Schematics program or SOLIDWORKS Electrical 3D add-in, one port is needed for each user. 

It’s not a bad idea to have more ports open than users. This allows additional users growth without having to make additional changes to firewall exceptions down the road.

When I say bi-directional, this means both on the client system(s) and the Electrical server. The TCP protocol is the standard that is used, typically on IPV4 (not IPV6). UDP protocol could also be set up on both the Electrical end user client(s) and the Electrical server to broadcast across the port(s), as UDP is more of a broadcasting protocol.

For example, if you have five Electrical Schematics users and two Electrical 3D add-in users, I recommend opening more ports on the Windows Firewall or Antivirus Firewall for 26666-26676. Both on the server and the end client(s). Having a range of ten ports for seven concurrent users leaves enough open ports for growth.

SOLIDWORKS Electrical Collaborative Server Location

In the Electrical Client, this field directs the Client to where the Electrical Collaborative Server is located.

Permissions

As this is a Windows Server service, it needs enough permissions to be able to run even if someone has not logged into the server and the server system has just been rebooted. There are some great articles out on the net that go into troubleshooting why a Windows service has stopped when it should be running.

#2. Microsoft SQL Database Used for the SOLIDWORKS Electrical server

Now onto the Microsoft SQL database that is used for the SOLIDWORKS Electrical server. The default install uses Microsoft SQL Express. This is part of the installation files from SOLIDWORKS Corporate and does not need to be installed separately unless there is a technical issue/reason to do so. 

However, whether you do a default install or custom install of SQL Express, the express version of SQL does not lock down the port that it communicates on. So, we’ll need to talk about that also. 

It is not uncommon for a SOLIDWORKS Electrical server install to fail because Microsoft SQL Express won’t install. This can be any number of reasons which have nothing to do with the SOLIDWORKS Products. Domain policies could prevent SQL installs, or be enforcing a stronger SQL password for the “SA” account, etc.

What it is

The SOLIDWORKS Electrical software requires a database to run, and that database is Microsoft SQL. SQL Express is included with SOLIDWORKS Electrical, but it will also run-on SQL Standard as well. 

If your company has an extra license of SQL Standard, this is a great option, or if you are running more than five users. SQL Standard is recommended so that SQL can utilize more ram and more CPU cores to function more efficiently in a multi-user environment. A license of SQL Standard does cost money and can be purchased through your Microsoft vendor.

What it does

The SQL instance runs the databases that the Electrical server uses for general items like libraries and a separate database for each of the projects. Because each project gets its own database, we strongly suggest that SQL get its own instance, just to keep the Electrical SQL database away from other software like PDM and ERP/MRP systems.

How it communicates

Microsoft SQL Express and SQL Standard communicate on a single port, typically one port somewhere in the range of 1433-1435 or even up to 1437. When you install SQL Standard with default instance name of ‘MSSQLSERVER’, it grabs port 1433. If it’s a named instance, it grabs 1434, most of the time Electrical will install to an SQL instance name of ‘ServerName\TEW_SQLEXPRESS’. 

The default SQL Express, which is included with Electrical, does not lock down to a single port and therefore is randomized every time the server is rebooted. For this reason, we recommend locking it down to either 1434 or 1435. I’ve worked on servers where 1434 wouldn’t allow the service to start back up, so I would lock it down to 1435 or even 1436. On how to do these there are some good articles on the internet if you just search for: change sql port from dynamic to static.

The article SOLIDWORKS PDM Standard: How to Static Ports in SQL Express is for SOLIDWORKS PDM Standard but also applies to the Electrical server SQL Express port.

(The only change that I do is, I scroll to the very bottom and set the ‘IPALL’ option, rather than just by removing the TCP Dynamic Ports and putting in the port I’m going to use.)

SOLIDWORKS Electrical TCP Dynamic Ports

If this SQL instance Windows services stops, restarting the service or restarting the server resolves a lot of the issues of the Electrical client not finding the database.

SOLIDWORKS Electrical Client Application Settings

In the Electrical Client, the Server name: field is the place where the SQL instance name is entered. If it’s the default instance name, this field is just the name of the server. If there is a named instance like there is in this image above, it’s added to the server name with a backslash. 

In the green box above, the SQL User name and Password must also be correct. If this was not changed during the install it is most likely just using the default username and password that all Electrical clients installs use for an “out-of-the-box” installation.

Permissions

SQL is also a Windows Service and needs to be allowed to run, in some Domain environments, with enough permissions to run without a user logged into the server. 

Below are the two services that get installed with the SQL Express that comes with Electrical. It’s my understanding that the SQL Server Agent isn’t used by the SOLIDWORKS Electrical Server but some of my colleagues believe that it does. So I say, if it’s running - leave it running. If it stopped and everything is working okay - don’t worry about it.

SOLIDWORKS Electrical SQL Server Permissions

#3. Working / Program Data directory that is a shared network folder

What it is

SOLIDWORKS Electrical needs a folder for physical files to reside in. This is used for library items, configuration files, and project files. An Electrical project isn’t just a database in SQL, it’s comprised of physical files and a SQL database.

When we make Project Archives files (.proj.tewzip) from the Project Manager in Electrical, these files can be for backups and/or to transport an Electrical project. The Project archives are a pseudo-zip file that collects the database for that project and the physical files, then stores them all in a single file for backup, transport, or external storage. 

These .proj.tewzip files can be stored in SOLIDWORKS PDM, Microsoft OneDrive, Google Drive, or network folder that is backed up depending on what your company policy and procedures are for long term storage of IP (intellectual property).

When you work on an Electrical Project, it is updating both the database and the physical files the entire time the project is open. Therefore, an Electrical Client needs to have read/write access to the network share folder where the physical files are stored.

With a default install, the folder that is created is:

 C:\ProgramData\SOLIDWORKS Electrical\

Note: Remember that C:\ProgramData\ is a hidden folder on new Windows installs.

During a successful Electrical server installation, this folder is turned into a shared read/write network folder after the installation is completed. This would be done by whoever is doing the installation or IT, but we’ll talk about that here in a moment.

On an Electrical server install, this can also be created on a data drive like: D:\SOLIDWORKS Electrical\

The folder is created during the Electrical server installation, so if you need to change the path of this folder, you really need to uninstall the Electrical server and reinstall it.

SOLIDWORKS Electrical Client Shared Network Folder

The image above shows where you point the Electrical client to the shared network folder on the Electrical server. (Replace \\ServerName\ with the name of your server.)

What it does

Simply put, this folder is the SOLIDWORKS Electrical client’s location of its working files. An Electrical user won’t normally need to browse/get into this directory with a Windows Files Explorer. Let the software do all the work in this network shared folder.

How it communicates

The communication is done like any other Windows share. The folder is to be shared with anyone that is using Electrical Client. Once the Electrical server install is finished, you or your IT dept would set up the Windows share. You may even need to set the security to this folder also as in many companies I’ve worked with just sharing the folder is not enough. Then when you start the SOLIDWORKS Electrical client, it looks at the Application data folder setting in the Application setting > Databases tab.

Permissions

When it comes to permissions, as mentioned before, Electrical client users need read/write access and enough security permissions for read/write access. The share can be just for Electrical users or for everyone. It can be a visible directory or a hidden network share.

Recommendation: If using SOLIDWORKS Electrical in a larger company, have IT set up a Domain group that is just of Electrical users and then use that to do the Network share of the ProgramData folder.

#4 If using network licensing, the SolidNetWork Licensing server may also be installed

For this section, check out the articles below that discuss in detail the standard SolidNetWork License (SNL) Manager/Server.

Summary

If your company utilizes the Windows Firewall and/or any additional 3rd-party Antivirus/firewall software or firewall appliances, below are the ports that need to open and network shares that need to be read/write.

Note: The GoEngineer technical department has reported that sometimes Network Appliances can cause problems, especially if there are two different sites of SOLIDWORKS Electrical users. The added security between the two sites has caused problems. (An example is the IPSec tunnel equipment)

It is recommended that all ports listed below are TCP for both client and serverUDP for server, but UDP might be needed on the client in some cases.

  1. Collaborative Service ports: 26666-26672 or equal/greater than the number of users. (i.e., 26666-26672 for seven simultaneous users. Both on TCP and UDP.) Personally, I will add more than needed. (i.e., five users, do eight or ten ports. This allows for growth.)
  2. SQL instance ports: 1434 or 1435. As to which port, that is dependent on which port you locked SQL express or SQL standard down to. SQL Express does not automatically lockdown which port it’s using. For information on this, see section two of this article.
  3. The SOLIDWORKS Electrical installer creates a folder that the Electrical Client software needs read/write access with enough security/permission to not get stopped. It is normally located in C:\ProgramData\SOLIDWORKS Electrical\ but can be set up to a different drive such as D:\SOLIDWORKS Electrical\
  4. The SolidNetWork License Manager needs its ports open as well. Typically, 25734 and 25735 are both on the client and License server for TCP. UDP may be beneficial to have open on both sides as well.

Conclusion

The above items should be sufficient in most SOLIDWORKS Electrical client/server environments. However, in some cases, depending on what security software and domain policies are in place, you may need additional program exceptions to Firewalls/ Antiviruses /Domain restrictions.

On the System that is running SOLIDWORKS Electrical Schematics or SOLIDWORKS Electrical 3D add-in for SOLIDWORKS CAD.

SOLIDWORKSElectrical.exe

 C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS Electrical\bin\SOLIDWORKSElectrical.exe

On the Electrical server:

Ewserver.exe

 C:\Program Files\SOLIDWORKS Corp 2020\SOLIDWORKS Electrical\server\Ewserver.exe

sqlservr.exe

This one can be in a few different locations but below are the two common locations, where ‘\MSSQL12.TEW_SQLEXPRESS\’ is replaced with the ‘\SQL Version . SQL Instance Name\’

C:\ProgramData\SOLIDWORKS Electrical\MSSQL12.TEW_SQLEXPRESS\MSSQL\Binn\sqlservr.exe

C:\Program Files\Microsoft SQL Server\MSSQL15.TEW_SQLEXPRESS\MSSQL\Binn\sqlservr.exe

‘MSSQL12’ is for 2014 SQL and ‘MSSQL15’ is for 2019

Related Articles

Common SOLIDWORKS Electrical Installation Errors 

SOLIDWORKS PDM Standard: How to Static Ports in SQL Express

SOLIDWORKS PDM Professional SQL Server Changes for 2022

SOLIDWORKS Electrical: Establishing ODBC Database Connection with Microsoft SQL

SOLIDWORKS Electrical License: Standalone vs Network

VIEW ALL SOLIDWORKS ELECTRICAL ARTICLES

 

About Michael Nolte

Michael Nolte is a Sr. Applications Engineer at GoEngineer. He has been in the SOLIDWORKS reseller channel since 2007 and is skilled in a large array of SOLIDWORKS products. He has been a Certified SOLIDWORKS Expert (CSWE) since 2011 and received his Dassault Systems Elite Application Engineer status in 2019. Combined with 24+ years of industry experience. Michael specializes in SOLIDWORKS PDM and SOLIDWORKS Electrical and is a Certified SOLIDWORKS Instructor based out of Northern Arizona.

View all posts by Michael Nolte