Maison > Opération et maintenance > exploitation et maintenance Linux > Comment installer ODBC sur Linux pour se connecter à la base de données SQLServer

Comment installer ODBC sur Linux pour se connecter à la base de données SQLServer

PHPz
Libérer: 2023-05-16 12:19:11
avant
1524 Les gens l'ont consulté

Système d'exploitation : Centos7.2

1. Téléchargez le package d'installation ODBC

unixODBC-2.3.9.tar.gz

freetds-1.3.9.tar.gz

2. Mettez les deux packages d'installation sur le serveur

Étape 2 : Installez unixODBC, installez-le d'abord, puis installez freetds

Remarque : Si l'ordre d'installation est incohérent ici, le fichier du pilote libtdsodbc.so ne sera pas généré (très important)

2.1, Le système d'exploitation installe d'abord gcc:

yum install gcc
Copier après la connexion

2.2, installe odbc

tar -xvf unixODBC-2.3.9.tar.gz
cd unixODBC-2.3.9
./configure --prefix=/usr/local/unixODBC
make
make install
Copier après la connexion

2.3, installe 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
Copier après la connexion

2.4, configure le pilote freetds

Répertoire du fichier de configuration : /usr/local/freetds/etc/freetds .conf, à la fin du fichier Ajoutez le contenu suivant, la version tds fait référence à la configuration par défaut, la valeur par défaut est 7.3, modifiez simplement l'hôte et le port à l'adresse SQLServer normale

[SQLServer]
    host = serverip
    port = 1433
    tds version = 7.3
Copier après la connexion

2.5, testez si la configuration est correcte

/usr/local/freetds/bin/tsql -S SQLServer -U nom d'utilisateur pour se connecter à SQLServer (-S spécifie le nom du service TDS configuré, -U spécifie le nom d'utilisateur pour se connecter à la base de données). la configuration du pilote est correcte. Si une erreur de connexion se produit, c'est probablement parce que le paramètre de version tds est incorrect. Vous pouvez essayer de modifier la valeur et de vous reconnecter

/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>
Copier après la connexion

2.6. Configurer unixODBC

Indiquez l'emplacement du pilote de base de données et les informations d'authentification requises pour vous connecter. à la base de données pour unixodbc. Modifiez les valeurs spécifiques dans les informations de configuration suivantes en fonction de la situation réelle et configurez le pilote

[FreeTDS]                                         #驱动名称
Description=FreeTDS Driver
Driver=/usr/local/freetds/lib/libtdsodbc.so     #驱动位置
Copier après la connexion

/usr/local/unixODBC/etc/odbc.ini dans /usr/local/unixODBC/etc/odbcinst.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  #连接的数据库名称
Copier après la connexion

2.7 , Testez si la base de données peut être connectée

/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|
Copier après la connexion

Remarque : puisque nous avons déjà configuré le nom de la base de données de connexion dans le fichier de configuration, n'incluez pas le nom de la base de données lors de l'interrogation SQL, sinon une erreur sera signalée.

2.8. Script Shell pour se connecter à la base de données

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`
Copier après la connexion

Méthode 2 :

SQL="select * from Student"
EMPLOYEES=`isql mssql sa 123 <<EOF
   $SQL
   go
   EOF
Copier après la connexion

Méthode 3 :

echo "$SQL" > $TMP/sql.$$
EMPLOYEES=`isql mssql sa 123 -i $TMP/sql.$$`
rm $TMP/sql.$$
Copier après la connexion

2.9. Appelez la commande pour exécuter la procédure stockée sur la machine sur laquelle SQL Server est installé

osql.exe -S ip -U sa -P 123 -d WAI -Q "exec dbo.bulkinsert %start%,%end%,stu
Copier après la connexion
.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal