MSSQL TableExists cannot find the table #456
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There are different approaches on configuring and using your sql server:
schemas
,databases
dbo
etc...Current issue:
When you use default
dbo
schema, it cannot find your collection table name in schema information table. It makes a wrong query toinformation_schema.tables
whered.BaseDatabase.Name()
method returns thedatabase name
instead ofschema name
. The issue is that we are looking up for database name in table_schema column, which in our case isdbo
. So the record is not being found, and it is a problem.Solution:
I have tried to make as small change as possible to not impact the original implementation, in case
d.BaseDatabase.Name()
would return the schema name instead of database name.For that, I just add one more
Or
condition to check for database_name (table_catalog)