2008-08-15 20 views
17

MySQL db sunucusuyla konuşmak için Emacs'in sql interaktif modunu kullanıyorum ve keyfini çıkardım. Bir geliştirici, yeni bir varsayılan olmayan bağlantı noktası numarası üzerinde başka bir db kurdu, ancak sql-mysql kullanarak nasıl erişileceğini bilmiyorum.Emacs sql-mysql içinde bir Port Numarası belirtin

Veritabanına bağlanmaya çalışırken bir bağlantı noktası numarasını nasıl belirlerim?

Emacs, bir bağlantı noktası numarası için beni sorabilir ve yalnızca belirtmediğim takdirde varsayılanı kullanırsa daha da iyi olur. Şansın var mı?

cevap

10

sql.el dosyasında arama yaptıktan sonra, bağlantı oluşturmaya çalıştığımda bir bağlantı noktası belirtmeme izin veren bir değişken buldum. Bu seçenek, GNU Emacs 24.1 eklenmiştir. MySQL bağlanmak için gerekli giriş parametrelerini

sql mysql-giriş-parametreler

listesi. Varsayılan MySQL bağlantı noktasına o ayarlamak isterseniz

(setq sql-mysql-login-params (append sql-mysql-login-params '(port))) 

varsayılan bağlantı noktası 0. Eğer sql-port

(setq sql-port 3306) ;; default MySQL port 
özelleştirebilirsiniz edilir:

benim Emacs init dosyasına bu katma

GNU Emacs 24.1'deki tüm popüler RDMS sistemleri için bir sql-*-login-params değişkeni var. sql-port hem MySQL hem de PostreSQL için kullanılır.

+1

Teşekkürler! Bazı notlar: varsayılan portu belirtmek için '(add-to-list' sql-postgres-login-params '(port: default 5432)) '(' 'default' etiketini not ediniz) gibi yapıyı kullanabilirsiniz. Ve 'add-to-list 'önce' ('sql' gerektirir '), aksi takdirde hata almalısınız" Değişken olarak sembolün değeri geçersizdir: sql-mysql-login-params " – seriyPS

+0

@seriyPS teşekkürler! '' ile-değerlendirmeden sonra yüklenen '' sql ''… içine de yükleyebileceğinizi not edin, ki bu sadece 'sql' paketi gerçekten yüklendiğinde kodu çalıştıracaktır. –

8
(setq sql-mysql-options (list "-P <port number>")) 
5

kullanıyorum seçeneği bulundu: Eğer seçeneği ayarlamak ve kaydedin Eğer

Mysql Options: 

, orada olacak yeni hat eklendi: etiketli bir ayar dahil

M-x customize-group 
SQL 

.emak değerleri:

(custom-set-variables 
'(sql-mysql-options (quote ("-P ???")))) 

(Açıkçası, gerçek port numarasını kullanmalısınız.)

XEmacs kullanıyorum, bu yüzden kilometreniz değişebilir.