Troubleshooting Client Connections on Windows
If your client is unable to connect to the database, a good way to diagnose the issue is to verify that you are at least able to connect to and to navigate the database server's shared folders. To test that, you can type the UNC path of one of the database's shared folders in the address bar of an Explorer window. For example, if the database is hosted on a server named harmonyserver, try to open the following location:
\\harmonyserver\USA_DB
Then, you can follow the troubleshooting tips depending on how Windows handled your attempt to connect to the share:
- Windows Accesses the Database Share Without Issue
- Windows Prompts for a Username and/or Password
- Windows is Unable to Access the Share and Displays an Error Message
Windows Accesses the Database Share Without Issue
If you have access to the shared folders, but Harmony is unable to connect to the database, this means the server is properly configured to share files, but not to act as a Harmony database server, either because:
- The database server service is not running on the server machine. You can check if this is the issue by running the server service manually in a terminal on the server machine, then attempting to connect from the client machine again. To do this, depending on the platform of your Harmony server, see:
- Windows: Launching the Database Server Manually on Windows
- macOS: Launching the Database Server Manually in macOS
- GNU/Linux: Launching the Database Server Manually in GNU/Linux
NOTE Running the database server service directly from a terminal also allows you to immediately see if the service encounters any errors when launching. - The server machine is refusing connections to the Harmony database server because of its firewall rules. To resolve this, see:
- Windows: Opening the Firewall Ports for a Harmony Database Server on Windows
- GNU/Linux: Opening the Firewall Ports for a Harmony Database Server on GNU/Linux and Opening the Firewall Ports for the Link Server on GNU/Linux.
NOTE The macOS firewall is not known to block connections to a Harmony server by default.
Windows Prompts for a Username and/or Password
If you get prompted for a username or a password, this means that the server is properly configured to share its files, but Harmony failed to establish a connection to the shared folders when you logged in. This may be because:
-
Harmony was not configured to use the right credentials to access the shares.
When you use Configuration Wizard to configure a client to connect to a database server, you are prompted to type in a username and password to access the database server's shared folders. Configuration Wizard saves those credentials and, when you log in to your Windows account, Harmony attempts to establish a connection with those shared folders using the username and the password you entered.
You can check if this is the issue by attempting to configure your client again using Configuration Wizard—see Connecting a Windows Client to a Database Server Using Configuration Wizard.
Windows is Unable to Access the Share and Displays an Error Message
If you are getting an error message, this means that your client is either unable to find the shared folder on your server, or that your server is refusing to let your client access it. This may be because:
- There is something wrong with the configuration of one or several of the database shares. Make sure you configured the shared folders properly on your server:
- Windows: The shares on the actual Harmony database server are configured automatically by Configuration Wizard. For shares on machines other than the Harmony database server, see Creating a Scene Data Storage Space on Windows.
- macOS: Sharing the Harmony Database Files Using Samba on macOS and Creating a Scene Data Storage Server on macOS.
- GNU/Linux: Sharing the Harmony Database Files Using Samba on GNU/Linux and Creating a Scene Data Storage Server on GNU/Linux.
- If the server is running GNU/Linux, the GNU/Linux firewall and/or SELinux may be blocking incoming connections to its Samba shares—see Opening the Firewall Ports and Configuring SELinux for a Samba Server on GNU/Linux.
-
If your client is using Windows 10, the problem might be caused by the version of the Samba protocol the server is using. Servers that use Samba to share files usually use the SMB 2.0, SMB 2.1 or SMB 3.0 protocol. However, some Samba servers may still be using the deprecated SMB 1.0 protocol. By default, Windows 10 computers are configured to be unable to connect to Samba servers that use the SMB 1.0 protocol, because SMB 1.0 is considered unsafe.
There are three common cases where a Samba server will use the SMB 1.0 protocol:
- The server runs CentOS 6.
- The server runs macOS, and Samba was installed through third party means, such as brew or SMBup.
-
The server runs Windows 10, and has the optional SMB 1.0/CIFS Server component enabled.
The optimal solution to this issue is to configure the server to only use SMB 2.0 and up. This is possible in the three cases above.
The alternative solution is to configure your Windows 10 clients to be able to connect to Samba servers that use SMB 1.0. This should only be done if it is not possible to use SMB 2.0 and up across the network, as SMB 1.0 is considered unsafe.
-
In a terminal, type in the following command:
$ sudo vi /etc/samba/smb.conf
- Inside the file, scroll down to the section that starts with [global].
- Press the i key to enter insert mode.
-
Add the following line to the [global] section:
protocol = SMB2
-
Press Esc, then type :wq and press Enter/Return to save and quit.
-
In the terminal, restart the Samba server with the following command:
$ sudo service smb restart
From now on, your Windows 10 client should be able to connect to your GNU/Linux Samba server.
-
In a terminal, type in the following command:
$ sudo vi /opt/local/etc/samba3/smb.conf
- Inside the file, scroll down to the section that starts with [global].
- Press the i key to enter insert mode.
-
Add the following line to the [global] section:
protocol = SMB2
-
Press Esc, then type :wq and press Enter/Return to save and quit.
-
In the terminal, restart the Samba server with the following command:
$ sudo launchctl unload /Library/LaunchDaemons/org.samba.smbd.plist
$ sudo launchctl load /Library/LaunchDaemons/org.samba.smbd.plist
From now on, your Windows 10 client should be able to connect to your macOS Samba server.
- Open the Windows Control Panel:
- On Windows 7: Open the Start menu and select All Programs > Accessories > System Tools > Control Panel.
- On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, select Windows System > Control Panel.
- In the Control Panel, select Programs > Turn Windows features on or off.
- In the features list, scroll to and expand SMB 1.0/CIFS File Sharing Support.
- Under SMB 1.0/CIFS File Sharing Support, make sure that the item SMB 1.0/CIFS Server is unchecked.
-
Click OK.
You may be prompted to restart the machine for the changes to take effect. Afterwards, your Windows 10 clients should be able to connect to your Windows shares.
- Open the Windows Control Panel:
- On Windows 7: Open the Start menu and select All Programs > Accessories > System Tools > Control Panel.
- On Windows 8.1 or Windows 10: Open the Start menu and, in the programs list, select Windows System > Control Panel.
- In the Control Panel, select Programs > Turn Windows features on or off.
- In the features list, scroll to and expand SMB 1.0/CIFS File Sharing Support.
- Under SMB 1.0/CIFS File Sharing Support, make sure that the item SMB 1.0/CIFS Client is checked.
-
Click OK.
You may be prompted to restart the machine for the changes to take effect. Afterwards, your Windows 10 client should be able to connect to your server's Samba shares.