Tôi đang cố gắng kết nối Redhat Linux với Microsoft SQL Server 2008. Tôi đã gặp sự cố khi thiết lập trên cửa sổ (máy thử nghiệm của tôi) nhưng bây giờ tôi cần triển khai nó máy Linux, nơi nó sẽ được sản xuất.Kết nối Redhat với SQL Server 2008 cho Ruby on Rails
Vì vậy, tôi đã cài đặt unixODBC và freetds (với rất nhiều nỗ lực, thậm chí không chắc chắn nếu nó đã được cài đặt một cách chính xác: S), và kết quả của điều đó là tôi có 3 file trong /usr/local/etc
:
odbc.ini
odbcinst.ini
freetds.conf
sau đó tôi thay đổi nội dung file freetds.conf
và đây là những gì tôi nói thêm:
[sqlServer]
host = servername
port = 4113
instance = sqlServer
tds version = 8.0
client charset = UTF-8
tôi phải tìm ra số cổng từ DBA của tôi, vì nó được thiết lập để năng động trong SQL server 2008.
tập tin odbcinst.ini
của tôi trông như thế này:
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/local/lib/libtdsodbc.so
Setup = /usr/local/lib/libtdsS.so
CPTimeout =
CPReuse =
FileUsage = 1
và odbc.ini
tác phẩm của tôi trông như thế này:
[sqlServer]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = 1
Servername = sqlServer
Database = RubyApp
Vì vậy, bây giờ tôi cố gắng kết nối để xem nếu có bất kỳ kết nối bằng cách sử dụng
tsql -S sqlServer -U test -P test
Tuy nhiên, chỉ cung cấp cho tôi lỗi sau:
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20013 (severity 2):
Unknown host machine name.
There was a problem connecting to the server
Khi tôi cố gắng sử dụng isql, làm isql -v sqlServer test test
, mà nhổ ra được lỗi sau:
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[01000][unixODBC][FreeTDS][SQL Server]Unknown host machine name.
[ISQL]ERROR: Could not SQLConnect
ý tưởng Bất kỳ những gì tôi có thể làm sai?
Có, tôi không cần nó, nhưng chỉ dành riêng cho mục đích an ninh, tôi đã viết 'ServerName' như trái ngược với servername thực – omarArroum