Cara memasang ODBC pada Linux untuk menyambung ke pangkalan data SQLServer

PHPz
Lepaskan: 2023-05-16 12:19:11
ke hadapan
1499 orang telah melayarinya

Sistem pengendalian: Centos7.2

1. Muat turun pakej pemasangan ODBC

unixODBC-2.3.9.tar.gz

freetds-1.3.9.tar . gz

2. Langkah pemasangan

Langkah 1: Muat naik dua pakej pemasangan ke pelayan

Langkah 2: Pasang unixODBC, pasang ini dahulu, dan kemudian pasang freetds

Nota: Jika susunan pemasangan tidak konsisten di sini, fail pemacu libtdsodbc.so tidak akan dijana (sangat penting)

2.1 Pasang sistem pengendalian dahulu dengan gcc:

yum install gcc
Salin selepas log masuk

2.2. Pemasangan odbc

tar -xvf unixODBC-2.3.9.tar.gz
cd unixODBC-2.3.9
./configure --prefix=/usr/local/unixODBC
make
make install
Salin selepas log masuk

2.3. Pasang freetds

tar -xvf freetds-1.3.9.tar.gz
cd freetds-1.3.9
./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC/
make
make install
Salin selepas log masuk

2.4. , pada akhir fail Tambah kandungan berikut, versi tds merujuk kepada konfigurasi lalai, lalai ialah 7.3, cuma ubah suai hos dan port ke alamat SQLServer biasa

[SQLServer]
    host = serverip
    port = 1433
    tds version = 7.3
Salin selepas log masuk

Uji sama ada konfigurasi itu betul

/usr/local /freetds/bin/tsql -S SQLServer -U nama pengguna untuk menyambung ke SQLServer (-S menentukan nama perkhidmatan TDS yang dikonfigurasikan, -U menentukan nama pengguna untuk log masuk ke pangkalan data) Sambungan yang berjaya membuktikan bahawa konfigurasi pemacu adalah betul. Jika ralat sambungan berlaku, ia mungkin kerana tetapan versi tds tidak betul Anda boleh cuba mengubah suai nilai dan menyambung semula

/usr/local/freetds/bin/tsql -S SQLServer -U sa
Password: 
locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1>
Salin selepas log masuk

2.6, konfigurasikan unixODBC

untuk menunjukkan lokasi pangkalan data. pemandu untuk maklumat unixodbc dan Pengesahan yang diperlukan untuk menyambung ke pangkalan data. Ubah suai nilai khusus dalam maklumat konfigurasi berikut mengikut situasi sebenar dan konfigurasikan pemacu dalam /usr/local/unixODBC/etc/odbcinst.ini

[FreeTDS]                                         #驱动名称
Description=FreeTDS Driver
Driver=/usr/local/freetds/lib/libtdsodbc.so     #驱动位置
Salin selepas log masuk

/usr/local/unixODBC/etc/ odbc.ini

[mssql]  #DSN名称
Description=sqlserver connection
Driver=FreeTDS    #上面配置好的驱动名称
TDS_Version=7.3   #TDS驱动版本
TRACE=On    #是否输出日志信息
TraceFile=stderr  #日志信息的位置
Server=serverip  #数据库网络地址
Port=1433       #数据库端口
User=name       #登录用户名
Password=pwd     #密码
Database=db name  #连接的数据库名称
Salin selepas log masuk

2.7 Uji sama ada pangkalan data boleh disambungkan

/usr/local/unixODBC/bin/isql mssql name pwd
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select * from sys.objects
+---------------------------------------------------------------------------------------------------------------------------------+------------+-------------+------------+-----------------+-----+-------------------------------------------------------------+------------------------+------------------------+--------------+-------------+--------------------+
| name                                                                                                                            | object_id  | principal_id| schema_id  | parent_object_id| type| type_desc                                                   | create_date            | modify_date            | is_ms_shipped| is_published| is_schema_published|
Salin selepas log masuk

Nota: Memandangkan kami telah mengkonfigurasi nama pangkalan data sambungan dalam fail konfigurasi, jangan bawa nama pangkalan data semasa membuat pertanyaan. SQL, jika tidak Ralat akan dilaporkan.

2.8. Skrip Shell untuk menyambung ke pangkalan data

SQL="/usr/local/unixODBC/bin/isql mssql sa 123"
i_sql=" exec dbo.bulkinsert 10,20,'dbo.stu';    "
echo $i_sql
result=`echo $i_sql|$SQL`
Salin selepas log masuk

Kaedah 2:

SQL="select * from Student"
EMPLOYEES=`isql mssql sa 123 <<EOF
   $SQL
   go
   EOF
Salin selepas log masuk

Kaedah 3:

echo "$SQL" > $TMP/sql.$$
EMPLOYEES=`isql mssql sa 123 -i $TMP/sql.$$`
rm $TMP/sql.$$
Salin selepas log masuk

2.9 mesin dengan SQL Server dipasang Stored Procedure

osql.exe -S ip -U sa -P 123 -d WAI -Q "exec dbo.bulkinsert %start%,%end%,stu
Salin selepas log masuk

Atas ialah kandungan terperinci Cara memasang ODBC pada Linux untuk menyambung ke pangkalan data SQLServer. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan