日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

在linux上配置unixODBC和FreeTDS访问MS SQL Server.

發布時間:2025/7/14 linux 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在linux上配置unixODBC和FreeTDS访问MS SQL Server. 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一, 安裝 unixODBC

下載安裝包. 在 RedHat 安裝光盤上就有
unixODBC-2.2.11-1.RHEL4.1.i386.rpm
unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm
unixODBC-kde-2.2.11-1.RHEL4.1.i386.rpm

安裝
rpm -Uvh unixODBC-2.2.11-1.RHEL4.1.i386.rpm
rpm -Uvh unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm
如果安裝中提示有對其它安裝包的依賴,則按照提示先安裝
哪些包.

或者從源碼安裝 unixODBC
下載源碼集
unixODBC-2.2.11.tar.gz
# tar xzf unixODBC-2.2.11.tar.gz
# cd unixODBC-2.2.11
# ./configure
# make
# make install

./configure 的時候也有可能提示找不到某些依賴庫.
下載這些依賴庫的源碼,編譯,安裝.

rpm 安裝和源碼編譯安裝的差別在于配置文件 odbc.ini, odbcinst.ini
的位置不同. 前者為 /etc , 后者為 /usr/local/etc




二, 安裝 FreeTDS

unixODBC 提供了Linux 對ODBC 的支持,但它只是一個 ODBC的管理器, 要連接
實際的數據庫還得提供這種數據庫的 ODBC 驅動.

FreeTDS就是Linux 下 用于連接MS SQL Server 和 Sybase 的免費ODBC 驅動
注意, 必須先裝 unixODBC, 再裝 freetds

freetds-0.64 是目前的最新穩定版.
下載源碼包 freetds-stable.tgz
# tar xzf freetds-stable.tgz
# ./configure --with-unixodbc=/usr/local --with-tdsver=8.0
# make
# su
# make install
將安裝到 /usr/local 下

如果 unixODBC是源碼安裝, 則
--with-unixodbc=/usr/local
如果 unixODBC是rpm安裝, 則
不需要該選項


三, 配置 unixODBC 和 FreeTDS

3.1 向unixODBC 登記 FreeTDS 驅動
??? 修改 /etc/odbcinst.ini (或者/usr/local/etc/odbcinst.ini)
??? 在文件中添加
=========================== /etc/odbcinst.ini? ======================
# Driver from FreeTDS package
# setup from FreeTDS package
[FREETDS]
Description???? = ODBC of FreeTDS for MS SQL 2000
Driver????????? = /usr/local/lib/libtdsodbc.so
Setup?????????? = /usr/local/lib/libtds.so
FileUsage?????? = 1

===================================================================

3.2? 在 FreeTDS 的配置文件中添加指向具體數據庫的訪問信息
???? 修改 /usr/local/etc/freetds.conf
???? 在末尾添加如下內容. 該配置文件中原有的內容請仔細閱讀, 是不錯的教材
===================================================================
[MYSQLSERVER]
host = 192.168.0.5 ?? ; MS SQL Server 的 IP 或者域名
port = 1433
tds version = 8.0
client charset = UTF-8? ; 客戶端軟件可識別的字符集.
===================================================================
注意, client charset 必需大于或等于服務端數據庫使用的字符集.
例如,服務端數據庫是 MS SQL Server 2000, 字符集是 GB2312.
那么 client charset 可以設置為 GB2312(等于), GB18030(大于),UTF-8(大于)
但不能設為ISO-8859-1(小于), Shift_JIS(不等于).
由于 UTF-8 是所由字符集的超集,因此設置為 UTF-8 總是可行的.
此外, FreeTDS的client charset不能設置為 UTF16. 這時目前該軟件設計的局限,
其官方網站稱,在未來版本中可能會增加對client charset UTF16的支持.



3.3? 修改 /etc/odbc.ini (如果odbc是從源碼安裝,則 /usr/local/etc/odbc.ini)
???? 添加DSN. ?
=========================== /etc/odbc.ini? ======================
[ODBC Data Sources]
TEST1dsn= My first Test DSN
TEST2dsn= My second Test DSN

[TEST1dsn]??????? ; DSN 名
Driver????????? = /usr/local/lib/libtdsodbc.so
Description???? = My First Test DSN
Trace?????????? = No
Servername????? = MYSQLSERVER???? ;在 freetds.conf中定義
Database??????? = MYTESTDB ???????????? ;庫名

[TEST2dsn]
Driver????????? = /usr/local/lib/libtdsodbc.so
Description???? = My Second Test DSN
Trace?????????? = No
Server????????? = 192.168.0.5 ??? ; 可以直接寫數據庫服務器的訪問信息
Database??????? = MyTESTDB
Port??????????? = 1433
TDS_Version???? = 8.0


[Default]
Driver????????? = /usr/local/freetds/lib/libtdsodbc.so
===================================================================

注意:
用 unixODBC 通過 freeTDS 訪問 MS SQL Server 有兩種配置方式.

(1)一種是將服務器信息寫在 freeTDS 的配置文件 $PREFIX/etc/freetds.conf 中,
而 /etc/odbc.ini 中使用 Servername 來指向 freetds.conf 中設定的 DSN.
如上例中的 [TEST1dsn]
(2).另一種方式是將服務器信息也一并寫在 /etc/odbc.ini 中. 如上例中的 [TEST2dsn].
注意,關鍵字有所不同.? 例如, freetds.conf 中的 tds version 在
/etc/odbc.ini 中為 TDS_Version.

方式(2)相對簡單,但只有少數幾個關鍵字可以控制freetds,至于freetds的
其它特征則使用freetds的缺省配置.

方式(1)雖然復雜一些,但對freetds可進行更細致的控制,例如可指定客戶端
的字符集.

推薦使用方式(1)進行配置.


四, 訪問數據庫:

無論是用客戶端軟件,還是編程訪問數據庫,通常要提供三個參數.
DSN, UserName, Password.
以本文示例來說,
DSN =? TEST1dsn 或 TEST2dsn
UserName = somename,
Password = somepasswd,

就意味著訪問位于?192.168.0.5 的 MS SQL Server 庫 MYTESTDB. 查詢結果
的字符集為 UTF-8.

unixODBC 提供的一個通用的 GUI 數據庫連接客戶端為 DataManager.


五, 關于字符集:

FreeTDS能夠自動識別服務器端的charset. 因此 FreeTDS 需要用戶設定客戶端的
charset. 這也就是客戶端應用程序期待從FreeTDS獲得的數據所應該使用的charset.
一旦client charset設定, FreeTDS將實現從 server charset <--> client charset
的轉換.

如果有兩個客戶應用程序都要訪問同一個 MS SQLServer, 但很不幸,這兩個客戶程序所
接受的字符集分別是 UTF-8 和 GB2312. 那么解決的辦法是在FreeTDS.conf中設置
兩組DataSource,它們的服務器設置相同,但client charset分別設為 UTF-8和GB2312. 在
odbc.ini中也設置兩組不同的DSN 分別指向這兩組DataSource. 而最終兩個客戶程序
各自使用與之相應的DSN即可.

轉載于:https://www.cnblogs.com/mssql/archive/2011/05/24/tt164.html

總結

以上是生活随笔為你收集整理的在linux上配置unixODBC和FreeTDS访问MS SQL Server.的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩精品一二三区 | 亚洲美女性生活 | 国产精品久久久久久久妇 | 国产一区二区三区视频网站 | 国产欧美高清 | 春色激情| 亚洲精品99999| 外国一级片 | 亚洲色图一区二区三区 | 91桃色污| 91精品久久久久久综合五月天 | 女18毛片 | 99色99| 2021天天操 | 上海贵妇尝试黑人洋吊 | 青青久在线视频 | 欧美一区二区三区免费 | chien国产乱露脸对白 | 中文字幕一区二区三区四区五区 | 天天操天天插天天射 | 91免费黄视频| 日本夫妻性生活视频 | 贵族女沦为官妓h呻吟 | 久久精品天天中文字幕人妻 | 亚洲欧美日韩中文在线 | 男女叼嘿视频 | 日韩黄色网络 | 国产美女视频免费观看下载软件 | 亚洲欧美另类图片 | 亚洲aaaaa特级 | 久青草资源福利视频 | 妓院一钑片免看黄大片 | 国产精品久久在线 | 伊人影音| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 善良的女朋友在线观看 | 成全世界免费高清观看 | 黄色录像大片 | 喷水少妇 | 极品少妇视频 | 国产一级做a爰片在线看免费 | 国产一区二区三区日韩 | 四虎影院在线看 | 国产欧美亚洲一区 | 黄色一极片 | 久久99久久精品 | 国产精品一二区 | 亚洲男人皇宫 | 日韩欧美成人一区二区 | 人人妻人人爽一区二区三区 | 91偷拍视频| 越南黄色一级片 | 欧美亚洲另类小说 | 日本中文在线播放 | 国产456| 一本一道无码中文字幕精品热 | 亚洲视频在线观看一区二区三区 | 黄网站免费在线观看 | 91在线播| 超碰超碰超碰超碰超碰 | 五月天综合社区 | 日韩不卡免费 | av免费观看网址 | 成人免费黄 | 国产经典久久久 | 成人亚洲电影 | 朴银狐电影中文在线看 | 亚洲视频一区在线播放 | 西西午夜视频 | 激情图片区 | 在线亚洲综合 | 啦啦啦免费高清视频在线观看 | 9l视频自拍蝌蚪9l视频成人 | 国产大片b站 | 法国伦理少妇愉情 | 中文字幕人妻互换av久久 | 一区二区视频播放 | 国产精品久久久久久亚洲影视 | 色婷婷婷婷色 | 深夜视频在线免费 | 加勒比在线免费视频 | 亚洲av综合av一区二区三区 | 欧美一区二区三区黄色 | 成人午夜小视频 | 在线中文字幕亚洲 | 韩国女主播一区二区 | 欧美成人免费播放 | 亚洲av无码一区二区二三区软件 | 性一交一乱一色一免费无遮挡 | 老子影院午夜精品无码 | 久久黄视频 | 国产又黄又粗又猛又爽 | 蜜桃av噜噜一区二区三区麻豆 | 99视频免费观看 | 国产天堂 | 亚洲青草视频 | 欧美国产第一页 | 国产免费一级视频 | 国产精品-区区久久久狼 |