Linux怎么安裝ODBC連接SQLServer數(shù)據(jù)庫

操作系統(tǒng):centos7.2

1、下載ODBC安裝包

unixODBC-2.3.9.tar.gz

freetds-1.3.9.tar.gz

2、安裝步驟

第一步:上傳兩個安裝包到服務(wù)器上

第二步:安裝unixODBC,先安裝這個,后安裝freetds

注意:這里如果安裝順序不一致,就不會產(chǎn)生libtdsodbc.so驅(qū)動文件(非常重要)

2.1、操作系統(tǒng)先安裝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驅(qū)動

配置文件目錄:/usr/local/freetds/etc/freetds.conf,在文件末尾加上如下內(nèi)容,tds version參照默認(rèn)配置,默認(rèn)是7.3,只要修改host和port為正常的sqlserver地址即可

[SQLServer] ????host?=?serverip ????port?=?1433 ????tds?version?=?7.3

2.5、測試配置是否正確

/usr/local/freetds/bin/tsql -S?SQLServer?-U username來連接SQLServer(其中-S指定了已經(jīng)配置好的?TDS服務(wù)名稱,-U指定登錄數(shù)據(jù)庫的用戶名),連接成功則證明驅(qū)動配置正確。如果連接出現(xiàn)錯誤,很可能是因為tds version設(shè)置的不正確,你可以嘗試修改該值重新連接

/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指明數(shù)據(jù)庫驅(qū)動程序所在位置及連接數(shù)據(jù)庫所需要的認(rèn)證信息。按照實際情況修改下列配置信息中的具體值,在/usr/local/unixODBC/etc/odbcinst.ini中配置驅(qū)動程序

[FreeTDS]?????????????????????????????????????????#驅(qū)動名稱 Description=FreeTDS?Driver Driver=/usr/local/freetds/lib/libtdsodbc.so?????#驅(qū)動位置

/usr/local/unixODBC/etc/odbc.ini中配置

[mssql]??#DSN名稱 Description=sqlserver?connection Driver=FreeTDS????#上面配置好的驅(qū)動名稱 TDS_Version=7.3???#TDS驅(qū)動版本 TRACE=On    #是否輸出日志信息 TraceFile=stderr??#日志信息的位置 Server=serverip??#數(shù)據(jù)庫網(wǎng)絡(luò)地址 Port=1433???????#數(shù)據(jù)庫端口 User=name???????#登錄用戶名 Password=pwd?????#密碼 Database=db?name??#連接的數(shù)據(jù)庫名稱

2.7、測試是否能連接數(shù)據(jù)庫

/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|

注意:由于在配置文件中咱們已經(jīng)配置好連接數(shù)據(jù)庫名稱了,查詢SQL的時候就不要帶上數(shù)據(jù)庫名稱了,否則會報錯。

?2.8、shell腳本連接數(shù)據(jù)庫

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`

?方法二:

SQL="select?*?from?Student" EMPLOYEES=`isql?mssql?sa?123?<p>方法三:</p><pre class="brush:bash;">echo?"$SQL"?&gt;?$TMP/sql.$$ EMPLOYEES=`isql?mssql?sa?123?-i?$TMP/sql.$$` rm?$TMP/sql.$$

?2.9、安裝了SQLServer的機器上調(diào)用命令執(zhí)行存儲過程

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

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊15 分享