Home > Operation and Maintenance > Linux Operation and Maintenance > How to install ODBC on Linux to connect to SQLServer database

How to install ODBC on Linux to connect to SQLServer database

PHPz
Release: 2023-05-16 12:19:11
forward
1523 people have browsed it

Operating system: Centos7.2

1. Download the ODBC installation package

unixODBC-2.3.9.tar.gz

freetds-1.3.9.tar. gz

2. Installation steps

Step one: Upload two installation packages to the server

Step two: Install unixODBC, install this first, and then install freetds

Note: If the installation order is inconsistent here, the libtdsodbc.so driver file will not be generated (very important)

2.1. Install gcc on the operating system first:

yum install gcc
Copy after login

2.2. Installation odbc

tar -xvf unixODBC-2.3.9.tar.gz
cd unixODBC-2.3.9
./configure --prefix=/usr/local/unixODBC
make
make install
Copy after login

2.3. Install 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
Copy after login

2.4. Configure freetds driver

Configuration file directory: /usr/local/freetds/etc/freetds.conf, at the end of the file Add the following content. The tds version refers to the default configuration. The default is 7.3. Just modify the host and port to the normal SQLServer address.

[SQLServer]
    host = serverip
    port = 1433
    tds version = 7.3
Copy after login

2.5. Test whether the configuration is correct

/usr/local /freetds/bin/tsql -S SQLServer -U username to connect to SQLServer (-S specifies the configured TDS service name, -U specifies the user name to log in to the database). A successful connection proves that the driver configuration is correct. If a connection error occurs, it is probably because the tds version setting is incorrect. You can try to modify the value and reconnect.

/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>
Copy after login

2.6, configure unixODBC

Indicate the location and location of the database driver for unixodbc Authentication information required to connect to the database. Modify the specific values ​​in the following configuration information according to the actual situation, and configure the driver in /usr/local/unixODBC/etc/odbcinst.ini

[FreeTDS]                                         #驱动名称
Description=FreeTDS Driver
Driver=/usr/local/freetds/lib/libtdsodbc.so     #驱动位置
Copy after login

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

2.7. Test whether the database can be connected

/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|
Copy after login

Note: Since we have already configured the connection database name in the configuration file, do not bring the database name when querying SQL, otherwise An error will be reported.

2.8. Shell script to connect to the database

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`
Copy after login

Method 2:

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

Method 3:

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

2.9. Call the command execution on the machine where SQL Server is installed Stored procedure

osql.exe -S ip -U sa -P 123 -d WAI -Q "exec dbo.bulkinsert %start%,%end%,stu
Copy after login

The above is the detailed content of How to install ODBC on Linux to connect to SQLServer database. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template