HeidiSQL doesn't support table schemas in SQL Server?

[expired user #9411]'s profile image [expired user #9411] posted 8 years ago in General Permalink
The table names in the left view are missing the schema names. Also when I try to edit the data for any non dbo table, I get an "invalid object... " error. Looking at the profiler, HeidiSQL is ignoring the schema names in the queries. SELECT TOP 1000 * FROM "AdventureWorks2012".."BusinessEntityAddress" is incorrect. The double dots assumes the schema name to be 'dbo' but the schema name is different.
The query should be SELECT TOP 1000 * FROM [AdventureWorks2012].[Person].[BusinessEntityAddress]
[expired user #9411]'s profile image [expired user #9411] posted 8 years ago Permalink
Two weeks later and no reply. Support here is non existent and a piece of software that is poor and buggy.
ansgar's profile image ansgar posted 8 years ago Permalink
Calm down man, and be patient with free OpenSource projects which are one-man-shows.

I just tested something here, on a local MSSQL Express 2012 server. I created a new table in a new database, and the schema was automatically set to dbo. My knowledge about MSSQL is limited, so you could post some SQL code for creating a schema and a table in that schema. Afterwards, I can fix or at least analyze the issue.
[expired user #9411]'s profile image [expired user #9411] posted 8 years ago Permalink
You can download AdventureWorks2012 from Codeplex.com and you get all kinds of tables with different schemas.

Which database engine is your experience in?
ansgar's profile image ansgar posted 8 years ago Permalink
I'm mostly a MySQL user.
UnEducatedHeidiSQLUser's profile image UnEducatedHeidiSQLUser posted 2 years ago Permalink

On server:2017-CU24-ubuntu-16.04 I get the same problem.

Root of the problem is the schema is never defined in sys.schemas.

The following will create the customer schema if does not exist, which will remedy this SQL server problem with HeidiSQL. IF NOT EXISTS ( SELECT * FROM sys.schemas WHERE name = N'customer' ) EXEC('CREATE SCHEMA [customer] AUTHORIZATION [dbo]'); GO

UnEducatedHeidiSQLUser's profile image UnEducatedHeidiSQLUser posted 2 years ago Permalink

Upon further testing, I don't think the above fixes it. Seems like there may be some type of race condition, I would need to test further. However, if you are having issues, I feel like playing with the SCHEMA definitions did help me (may be unrelated though).

Please login to leave a reply, or register at first.