I have a problem when I use the Microsoft SQL tool. When I try the execute query function, and manually add some values to a table, it will do this without a problem. But then if I use the insert function it will ask for a table. When I enter the exact same table name as I did in the execute query function, it won’t recognize the table name and say the object name of the table is invalid. I’m not sure what I’m doing wrong here.
Hey @Sujan_Timilsina hope all is well, Welcome to the community.
Could you please attach your workflow and some screenshots showcasing your issue?
Thanks for the fast reply @jabbson , here’s the workflow and some pictures. The first picture shows an error when I enter the table name dbo.trainingsplans, but when I use the execute query function and then try to insert data into this same table, it actually recognizes it and does it like it should.
{
“nodes”: [
{
“parameters”: {
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.chatTrigger”,
“typeVersion”: 1.3,
“position”: [
0,
0
],
“id”: “6ceb01f2-88d3-4d3a-8b97-07ca79fb5f25”,
“name”: “When chat message received”,
“webhookId”: “0e4152fa-1df1-41a1-bcbe-7ebea18102ff”
},
{
“parameters”: {
“promptType”: “define”,
“text”: “=Input: {{ $json.chatInput }}\n\nTaak:\nJouw taak is om op algemene vragen over jouw expertise te antwoorden. Antwoord als een expert en gebruik altijd wetenschappelijk onderbouwde methodes. Het feit dat je alles wetenschappelijk aanpakt, komt omdat je gebruik maakt van het internet om de recentste en beste studies te vinden en deze te gebruiken in je methodes.\n\nGebruikers kunnen ook vragen naar bepaalde data van hun sporten, zoek dan in Strava op om hun vraag te beantwoorden.\n\nAls je een trainingschema maakt, en de gebruiker bevestigd deze schema, slaag het dan op in Microsoft SQL, door het in de tabel toe tevoegen. De gebruiker kan ook wijzigingen maken of een trainingschema verwijderen. Dit is dan jouw taak het te volbrengen.\n\nCapabilities:\nAls de gebruiker expliciet vraagt om een trainingsschema (zoals “Kan je een loopschema maken?”), stel dan eerst deze vragen:\n\n1. Wat is je sportdoel? (Conditie verbeteren, spiermassa opbouwen, kracht, …)\n2. Welke sport(en) wil je doen?\n3. Wat is je niveau? (Beginner, gemiddeld, gevorderd)\n4. Hoeveel dagen per week kan je trainen?\n5. Heb je voorkeuren qua dagen, oefeningen of materiaal? (Zoals voorkeuren voor bepaalde workout splits, etc.)\n6. Zijn er andere dingen die in rekening gebracht moeten worden? (Zoals blessures)\n\nOp basis van de antwoorden maak je een persoonlijk trainingsschema van 1 week. Voor elke dag geef je:\n\n- \"activiteit\": wat de gebruiker moet doen\n- \"details\":\n- \"doel\": trainingsdoel van de sessie\n- \"intensiteit\": zoals hartslagzone of gewichten\n- \"richtlijn\": praktische tips voor correcte uitvoering”,
“options”: {
“systemMessage”: “=Rol:\nJe bent een sportieve, toegankelijke en vriendelijke sport-coach. Je hebt meer dan 15 jaar ervaring in het veld van sporten en hebt inmiddels al veel top-atleten gecoached. Je weet dus heel veel over sport gerelateerde onderwerpen, zoals de beste manieren om te trainen, voeding en mogelijks blessures. Je bent niet enkel een expert in één sport, maar je bent een expert in zo goed als alle sporten. Als het om lopen gaat weet je de beste manier om je conditie op een effectieve manier op te bouwen, als het om fitness gaat weet jij de beste manieren om spier of kracht op te bouwen. Jij bent dus een all-round sport coach met heel wat ervaring achter de rug.\n\nInput:\nDe gebruiker kan allerlei vragen stellen in tekst, audio of andere formaten. Wanneer een vraag vaag is of onduidelijk, kan je altijd een bijvraag stellen om te achterhalen wat de gebruiker precies bedoeld. Dit is de input: {{ $json.chatInput }}\n\nOutput:\nHoud de tekst kort en bondig, je antwoord namelijk op een chat, de gebruiker wilt de nodige informatie compact en efficiënt kunnen vinden. Zorg ervoor dat je ook altijd gestructureerd blijft.\n\nConstraints:\nAlhoewel je een expert bent, ben je geen arts of kinesist. Volg de juiste wet & regelgeving bij het geven van advies, en als de gebruiker vraagt om advies dat je niet kunt geven om legale redenen, vermeld je dan dat ze beter een arts of kinesist kunnen raadplegen. Vertel ook nooit over hoeveel je ervaring hebt, of het feit dat je een expert bent. Je probeert je karakter niet te verkopen aan de gebruiker, dus gedraag je als een expert, maar probeer ze niet te overtuigen dat je een expert bent.\n\nCapabilities:\nAls de gebruiker expliciet vraagt om een trainingsschema (zoals “Kan je een loopschema maken?”), stel dan eerst deze vragen:\n\n1. Wat is je sportdoel? (Conditie verbeteren, spiermassa opbouwen, kracht, …)\n2. Welke sport(en) wil je doen?\n3. Wat is je niveau? (Beginner, gemiddeld, gevorderd)\n4. Hoeveel dagen per week kan je trainen?\n5. Heb je voorkeuren qua dagen, oefeningen of materiaal? (Zoals voorkeuren voor bepaalde workout splits, etc.)\n6. Zijn er andere dingen die in rekening gebracht moeten worden? (Zoals blessures)\n\nOp basis van de antwoorden maak je een persoonlijk trainingsschema van 1 week. Voor elke dag geef je:\n\n- \"activiteit\": wat de gebruiker moet doen\n- \"details\":\n- \"doel\": trainingsdoel van de sessie\n- \"intensiteit\": zoals hartslagzone of gewichten\n- \"richtlijn\": praktische tips voor correcte uitvoering\n\nAls de gebruiker een bestaand schema wil aanpassen (bijvoorbeeld minder dagen, meer intensiteit, focus op andere spiergroep), stel dan gerichte bijvragen of genereer een aangepast schema.”
}
},
“type”: “@n8n/n8n-nodes-langchain.agent”,
“typeVersion”: 2.2,
“position”: [
208,
0
],
“id”: “b3644fe7-1c37-4761-8aee-d0e01e015083”,
“name”: “AI Agent”
},
{
“parameters”: {
“modelName”: “models/gemini-2.5-flash-lite-preview-06-17”,
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.lmChatGoogleGemini”,
“typeVersion”: 1,
“position”: [
-464,
224
],
“id”: “6c410ce3-0ec9-4f99-9c62-6c6297d2be98”,
“name”: “Google Gemini Chat Model”,
“credentials”: {
“googlePalmApi”: {
“id”: “3gM8kYQOYQLcQwco”,
“name”: “Google Gemini(PaLM) Api account”
}
}
},
{
“parameters”: {
“contextWindowLength”: 50
},
“type”: “@n8n/n8n-nodes-langchain.memoryBufferWindow”,
“typeVersion”: 1.3,
“position”: [
-304,
224
],
“id”: “6b476288-fb47-47d6-ab93-a1b799a94758”,
“name”: “Simple Memory”
},
{
“parameters”: {
“cityName”: “={{ /n8n-auto-generated-fromAI-override/ $fromAI(‘City’, , 'string') }}", "language": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Language', , ‘string’) }}”
},
“type”: “n8n-nodes-base.openWeatherMapTool”,
“typeVersion”: 1,
“position”: [
384,
368
],
“id”: “491e35f7-5cd7-4c72-84a6-ca8fb6496393”,
“name”: “OpenWeatherMap”,
“credentials”: {
“openWeatherMapApi”: {
“id”: “xv2xNxIvowLnTZPE”,
“name”: “OpenWeatherMap account”
}
}
},
{
“parameters”: {
“operation”: “getAll”,
“limit”: 100
},
“type”: “n8n-nodes-base.stravaTool”,
“typeVersion”: 1.1,
“position”: [
192,
368
],
“id”: “97c1e984-6a51-4af4-a36e-4be94ad810ad”,
“name”: “Strava Get Runs”,
“notesInFlow”: false,
“credentials”: {
“stravaOAuth2Api”: {
“id”: “o12BGeKh8i1GYa6A”,
“name”: “Strava account”
}
}
},
{
“parameters”: {
“descriptionType”: “manual”,
“table”: “dbo.trainingsplans”,
“columns”: “id”
},
“type”: “n8n-nodes-base.microsoftSqlTool”,
“typeVersion”: 1.1,
“position”: [
-16,
368
],
“id”: “2814e811-9f3a-4926-a73e-db1f1cd854b9”,
“name”: “Microsoft SQL4”,
“credentials”: {
“microsoftSql”: {
“id”: “rLLkB8oZp1Pj3t6W”,
“name”: “Microsoft SQL account”
}
}
}
],
“connections”: {
“When chat message received”: {
“main”: [
[
{
“node”: “AI Agent”,
“type”: “main”,
“index”: 0
}
]
]
},
“AI Agent”: {
“main”: [
]
},
“Google Gemini Chat Model”: {
“ai_languageModel”: [
[
{
“node”: “AI Agent”,
“type”: “ai_languageModel”,
“index”: 0
}
]
]
},
“Simple Memory”: {
“ai_memory”: [
[
{
“node”: “AI Agent”,
“type”: “ai_memory”,
“index”: 0
}
]
]
},
“OpenWeatherMap”: {
“ai_tool”: [
[
{
“node”: “AI Agent”,
“type”: “ai_tool”,
“index”: 0
}
]
]
},
“Strava Get Runs”: {
“ai_tool”: [
[
{
“node”: “AI Agent”,
“type”: “ai_tool”,
“index”: 0
}
]
]
},
“Microsoft SQL4”: {
“ai_tool”: [
[
{
“node”: “AI Agent”,
“type”: “ai_tool”,
“index”: 0
}
]
]
}
},
“pinData”: {},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “657fc4b11ef71b2943383e542d0242fd5b4e1893c81e16a47229cdb09d5b5476”
}
}
Out of curiosity, what would happen if you referenced the table with only the table name? Instead of dbo.tableName → tableName?
I think it worked; thanks so much. I’ll test it later, but for now it seems to work.
Perfect, glad to hear.

