SQLServer 데이터베이스에 연결하기 위해 Linux에 ODBC를 설치하는 방법

PHPz
풀어 주다: 2023-05-16 12:19:11
앞으로
1436명이 탐색했습니다.

운영 체제: Centos7.2

1. ODBC 설치 패키지를 다운로드합니다

unixODBC-2.3.9.tar.gz

freetds-1.3.9.tar.gz

2단계: 업로드 두 개의 설치 패키지를 서버에 넣습니다

2단계: unixODBC를 설치하고 이를 먼저 설치한 다음 freetds를 설치합니다

참고: 여기에서 설치 순서가 일치하지 않으면 libtdsodbc.so 드라이버 파일이 생성되지 않습니다(매우 중요).

2.1, 운영 체제는 먼저 gcc:

yum install gcc
로그인 후 복사

2.2를 설치하고, odbc

tar -xvf unixODBC-2.3.9.tar.gz
cd unixODBC-2.3.9
./configure --prefix=/usr/local/unixODBC
make
make install
로그인 후 복사

2.3을 설치하고, 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를 설치하고, freetds 드라이버를 구성합니다

구성 파일 디렉터리: /usr/local/freetds/etc/freetds .conf, 파일 끝에 다음 내용을 추가하세요. tds 버전은 기본 구성을 나타내며 기본값은 7.3입니다. 호스트와 포트를 일반 SQLServer 주소

[SQLServer]
    host = serverip
    port = 1433
    tds version = 7.3
로그인 후 복사

2.5로 수정하고 구성이 올바른지 테스트하세요

/usr/local/freetds/bin/tsql -S SQLServer -U SQLServer에 연결하기 위한 사용자 이름(-S는 구성된 TDS 서비스 이름을 지정하고, -U는 데이터베이스에 로그인하기 위한 사용자 이름을 지정합니다). 드라이버 구성이 정확합니다. 연결 오류가 발생하는 경우에는 tds 버전 설정이 잘못된 것일 수 있습니다.

/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. unixODBC 구성

연결에 필요한 데이터베이스 드라이버 위치를 지정하세요. unixodbc용 데이터베이스에. 실제 상황에 따라 다음 구성 정보의 특정 값을 수정하고 /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 , 데이터베이스 연결 가능 여부 테스트

/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|
로그인 후 복사

참고: 이미 구성 파일에 연결 데이터베이스 이름을 구성했으므로 SQL 쿼리 시 데이터베이스 이름을 포함하지 마세요. 그렇지 않으면 오류가 보고됩니다.

2.8. 데이터베이스 연결을 위한 쉘 스크립트

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`
로그인 후 복사

방법 2:

SQL="select * from Student"
EMPLOYEES=`isql mssql sa 123 <<EOF
   $SQL
   go
   EOF
로그인 후 복사

방법 3:

echo "$SQL" > $TMP/sql.$$
EMPLOYEES=`isql mssql sa 123 -i $TMP/sql.$$`
rm $TMP/sql.$$
로그인 후 복사

2.9.SQL Server가 설치된 머신에서 저장 프로시저를 실행하는 명령을 호출하세요.

위 내용은 SQLServer 데이터베이스에 연결하기 위해 Linux에 ODBC를 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!