# How use mssql-cli on Debian

**URL:** <https://forum.ansible.com/t/how-use-mssql-cli-on-debian/30502>\
**Category:** Ansible Project\
**Created:** [June 6, 2019, 10:07am UTC](https://forum.ansible.com/t/how-use-mssql-cli-on-debian/30502 "2019-06-06T10:07:34Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ryad9200000](https://avatars.discourse-cdn.com/v4/letter/r/f04885/32.png) [@ryad9200000](https://forum.ansible.com/u/ryad9200000)\
**Post date:** [June 6, 2019, 10:07am UTC](https://forum.ansible.com/t/how-use-mssql-cli-on-debian/30502/1 "2019-06-06T10:07:34Z")

</div>

Hi all,

I have install mssql-cli for execut command line on instance MSSQL but when i use this task:

- name: “conenct instance mssql”  
command: mssql-cli -S my\_hote -U my\_user  
delegate\_to: localhost

This task not works but on my prompt Debian this command line works why ?

Someone can help me please !! 😉

Thanks,

Regards,

---

<div class="post-metadata">

**Author:** ![Dick\_Visser](https://avatars.discourse-cdn.com/v4/letter/d/d9b06d/32.png) [@Dick\_Visser](https://forum.ansible.com/u/Dick_Visser)\
**Post date:** [June 6, 2019, 11:04am UTC](https://forum.ansible.com/t/how-use-mssql-cli-on-debian/30502/2 "2019-06-06T11:04:29Z")

</div>

I'm not familair with mssql-cli but from the docs at  
[https://github.com/dbcli/mssql-cli/blob/master/doc/usage\_guide.md](https://github.com/dbcli/mssql-cli/blob/master/doc/usage_guide.md) it  
appears to be an "interactive command line query tool".  
You ansible task just runs one command, which connects to a database.  
That's not very useful.  
So, what are you trying to do? Do a query and return results?

It might be that mssql-cli can ONLY operate in interactive mode which  
makes it unsuitable for this purpose.

---

<div class="post-metadata">

**Author:** ![ryad9200000](https://avatars.discourse-cdn.com/v4/letter/r/f04885/32.png) [@ryad9200000](https://forum.ansible.com/u/ryad9200000)\
**Post date:** [June 6, 2019, 11:21am UTC](https://forum.ansible.com/t/how-use-mssql-cli-on-debian/30502/3 "2019-06-06T11:21:27Z")

</div>

Hi Dick Visser,

I understand, i will think that with mssqli-cli on Ansible, i will can execut script sql or execut command sql with module command or shell of Ansible.

it’s very bad that there are not intereaction with some tool like mssql-cli and Ansible …

Thank you for you help Dick Visser !! 😉

Regards,

---

<div class="post-metadata">

**Author:** ![Wawrzek\_Niewodniczan](https://avatars.discourse-cdn.com/v4/letter/w/bbe5ce/32.png) [@Wawrzek\_Niewodniczan](https://forum.ansible.com/u/Wawrzek_Niewodniczan)\
**Post date:** [June 6, 2019, 3:13pm UTC](https://forum.ansible.com/t/how-use-mssql-cli-on-debian/30502/4 "2019-06-06T15:13:07Z")

</div>

Have you try to use sqlcmd?  
[https://docs.microsoft.com/en-us/sql/ssms/scripting/sqlcmd-use-the-utility?view=sql-server-2017](https://docs.microsoft.com/en-us/sql/ssms/scripting/sqlcmd-use-the-utility?view=sql-server-2017)

We have following test in one of our roles:

&nbsp;&nbsp;&nbsp;&nbsp;- name: Check if the SQL users can login to their databases  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell: |  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set -eu  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlscript='SELECT \* FROM DATABASECHANGELOG;'  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/opt/mssql-tools/bin/sqlcmd \  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-S {{ sqlserver | quote }} \  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-U {{ sqluser | quote }} \  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-P {{ sqlpass | quote }} \  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-d {{ database | quote }} \  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-Q "${sqlscript}"  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop: '{{ test\_databases }}'  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlserver: '{{ init\_mssql\_db\_sql\_server }}'  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqluser: '{{ item.username | default(item.database) }}'  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlpass: '{{ item.password }}'  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database: '{{ item.database }}'

Wawrzek
