Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara memasang ODBC pada Linux untuk menyambung ke pangkalan data SQLServer

Cara memasang ODBC pada Linux untuk menyambung ke pangkalan data SQLServer

PHPz
PHPzke hadapan
2023-05-16 12:19:111438semak imbas

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

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

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

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

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>

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     #驱动位置

/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  #连接的数据库名称

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|

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`

Kaedah 2:

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

Kaedah 3:

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

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

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam