Question

What steps do I take? Any gotchas to be aware of or tips to enhance the IDE experience that are specific to SQL Server when using Emacs?

Was it helpful?

Solution

Connecting

To connect to a SQL Server database instance from Emacs:

M-x sql-ms RET
M-x sql-mode     

You will be prompted for standard connection information specifically the following:

  • User
  • Password
  • Server
  • Database

For SQL Server Authentication, type in the necessary user and password info. However, if connecting via Windows Authentication, then press RETURN for both user and password leaving them blank.

Viewing Output Results

Note that to see the text of any output results in the *SQL* buffer, the 'go' statement should be called at some point. A couple of ways of doing this.

For example, this sql statement will execute but it will not show any result text in the *SQL* buffer in its current format:

select 'foo' as bar

However, if a 'go' is appended to the end:

select 'foo' as bar
go

the following will be displayed in the *SQL* buffer:

 bar   
 ----- 
 foo

(1 row affected)

Alternatively, if you do not want to have 'go' statements littering the text of your SQL script then call 'go' on the fly to see all output results since the last time that the previous 'go' statement was sent to the sql process:

C-c C-s go RET

This is helpful if you need to view any error messages that might not initially show in the *SQL* buffer.

OTHER TIPS

To start, look at SQL mode.

sometimes the display of emacs's sql-ms sucks because that some columns displayed are too wide for reading.

here are some skills for bad output experience.

1.

M-x toggle-truncate-lines

toggle truncate-lines can improve some readable.

2.

select left(columnName, 25) from table

this truncates the column width to 25 characters. This works perfect for me.

source is here: http://bloggingmath.wordpress.com/2011/02/03/using-emacs-as-your-sql-interface/

Also, see here:

https://github.com/kiwanami/emacs-edbi

This way i just use odbc to connect to everything through DBD::ODBC.

The author mentions "gotchas" when trying to connect to an SQL server.

When trying to connect to a mysql server, which as the top-voted answer suggests is done via M-x sql-mysql, I found that I continually got

Unable to locate SQL program 'mysql'

Following the suggestion at this SO question concerning emacs, sql and Macs, I set the following value:

(setq sql-mysql-program "/usr/local/mysql/bin/mysql")

which was the location/path to my local mysql binary.

Don't know why this variable is not mentioned in any other tutorials I've seen, so I post this here, as an aforementioned "gotcha" when connecting to a mysql server.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top