Saya memerlukan tutorial yang mudah dan lengkap untuk membuat koneksi MSSQL dari Ubuntu.
Saya pikir saya menginstal FreeTDS dan UnixODBC tetapi konfigurasi sangat rumit saya tidak mengerti masalah ini.
Saya mengikuti tutorial ini: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Platform-Installation---Ubuntu
Tetapi saya gagal.
root@hackmachine:~# isql -v example.com XXXXX XXXXXXX
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
root@hackmachine:~#
Edit:
Sebelum ini edit "/etc/odbcinst.ini" dan "/etc/odbc.ini" kosong.
Saya menambahkan baris-baris ini ke /etc/odbcinst.ini:
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
CPTimeout =
CPReuse =
FileUsage = 1
Saya menambahkan baris ini ke /etc/odbc.ini:
[project_development]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = developer
Database = project_development
[project_test]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = developer
Database = test
[project_production]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = production
Database = project_production
Saya tidak melakukan perubahan apa pun pada "/etc/freetds/freetds.conf" sejak awal.
Tetap saja, tidak ada yang berubah.
connection
mertyildiran
sumber
sumber
Jawaban:
Berikut adalah petunjuk langkah demi langkah (ditemukan di sini) :
Pertama, instal unixODBC:
Saya juga menginstal paket-paket berikut (mungkin perlu):
Kemudian unduh, untar, kompilasi, dan instal FreeTDS (peringatan, URL dapat berubah):
Coba koneksi melalui Telnet ke instance SQL Server Anda:
Gunakan alat tsql untuk menguji koneksi:
Ini akan meminta Anda untuk kata sandi, setelah itu Anda bisa berharap terhadap harapan untuk melihat tanda yang indah ini:
Jika itu berhasil, saya sarankan mengadakan pesta (coding). Selanjutnya adalah beberapa konfigurasi. Buka file konfigurasi FreeTDS. /usr/local/etc/freetds.conf
Tambahkan entri berikut ke bagian bawah file. Kami sedang menyiapkan nama sumber data (DSN) yang disebut 'MSSQL'.
Sekarang buka file konfigurasi ODBC: /usr/local/etc/odbcinst.ini
Dan tambahkan entri driver MSSQL berikut (FreeTDS) di akhir:
Kemudian, akhirnya, atur DSN dalam ODBC dalam file odbc.ini di sini /usr/local/etc/odbc.ini Dengan menambahkan bit ini ke file:
Uji koneksi menggunakan alat isql:
Jika Anda melihat "Terhubung!" kamu emas, selamat! Jika tidak, saya benar-benar minta maaf; lihat di bawah ini di mana ada beberapa sumber daya yang dapat membantu.
Sekarang restart Apache dan coba dari PHP menggunakan 'MSSQL' sebagai DSN. Jika ada yang tidak berhasil, Anda dapat mencoba menginstal salah satu atau semua paket ini: mdbtools libmdbodbc libmdbtools mdbtools-gmdb
sumber
Pada Trusty 14.04 saya mengalami masalah membuat http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
Ketika saya mencoba menjalankan suatu
tsql
perintah, saya mengetahui bahwa itutsql
dapat diinstal melalui apt:sumber
Semoga Anda telah menyalin konten di tautan ke file. Anda perlu memperbarui rincian server SQL Anda di file "/etc/odbc.ini". Anda dapat merujuk tautannya http://guywyant.info/log/206/connecting-to-ms-sql-server-from-ubuntu/
sumber
Saya harus melakukan ini untuk Ubuntu 14.04 dan 17.04, keduanya LTS 64-bit. Mungkin berfungsi untuk versi yang lebih baru.
Instal unixodbc (koneksi ODBC), freetds (koneksi SQL Server) dan tdsodbc (jembatan antara dua yang sebelumnya)
Tambahkan driver ODBC Anda ke /etc/odbcinst.ini (harus kosong)
Tambahkan DSN Anda ke /etc/odbc.ini (juga harus kosong)
Dan itu saja.
sumber
Untuk menjawab pertanyaan tersirat oleh:
... dan mengabaikan semua hal pengaturan FreeTDS.
Gunakan mssql-cli ( install , penggunaan ).
sumber
Saya bekerja di perusahaan yang banyak menggunakan produk Microsoft. Namun, saya lebih suka bekerja pada mesin Linux (Ubuntu). Secara khusus, saya menggunakan Ubuntu 16.04 LTS .
Saya menggunakan JetGrains DataGrip atau SQL Electron sebagai SQL GUI. DataGrip akan memerlukan Microsoft JDBC Driver untuk SQL Server yang harus Anda tunjuk secara manual saat Anda membuka DataGrip untuk pertama kalinya. Saya memasukkan ini
/usr/share/java/
, tetapi di mana saja akan berhasil.Menghubungkan itu mudah di laptop Windows 10 saya. Saya cukup membuka SQL Server Management Studio, dan menggunakan kredensial saya untuk masuk (nama pengguna + kata sandi); Saya tidak menggunakan Otentikasi Windows.
Prasyarat
Untuk dapat terhubung dari Ubuntu, ini merupakan pekerjaan ekstra ( hanya sedikit ). Pertama, pada mesin Windows 10 saya, saya membuka terminal Powershell, dan ketik berikut ini
dan mengembalikan sesuatu seperti
Nama dan alamat server akan menjadi statis, sehingga di atas hanya akan diperlukan untuk dijalankan sekali per server yang Anda coba akses.
DataGrip
Lalu, saya melompat ke mesin Linux saya dan membuka DataGrip. Untuk
Host
tipe I<server's address>
, Port: 1433 (ini adalah default untuk MS SQL Server). URL akan terlihat seperti,Jika Anda mengklik
Test Connection
, itu akan meminta Anda untuk informasi login jika Anda belum menambahkannya. Dan itu untuk DataGrip!DataGrip juga memiliki blog berikut, yang mungkin bermanfaat bagi pengguna baru: Menghubungkan DataGrip ke MS SQL Server
SQL Electron
Jika Anda tidak ingin membeli DataGrip, Anda dapat menggunakan SQL Electron. Langkah-langkahnya mirip. Buka SQL Electron, klik add untuk menambahkan server baru, dan untuk
Server Address
mengetik<server's address>
, Port: 1433, dan akhirnya kredensial login Anda. DAN ITULAH!sumber
Untuk terhubung ke instance MSSQL yang berjalan di server jauh:
Ikuti langkah-langkah yang berlaku dalam artikel ini https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/connection-string-keywords-and-data-source-names-dsns?view=sql -server-2017
CATATAN: Untuk menyelesaikan tes, Anda harus melakukan beberapa hal lagi: Edit /etc/odbc.ini dan tambahkan yang berikut:
Untuk melakukan tes, jalankan terminal berikut di:
Anda akan melihat respons "terhubung".
Jika Anda kesulitan, periksa apakah port di Linux dan server Windows Anda terbuka!
sumber