2010-03-30 39 views
11

Tôi cần phải viết một số dữ liệu vào cơ sở dữ liệu SQL Server từ Linux trong C++.C++ Truy cập vào SQL Server từ Linux

tôi thấy sqlapi.com này

Nhưng tôi nghĩ rằng, tại điều khiển ODBC đầu tiên đã được cài đặt và phải làm việc.

tôi folowed này adminlife.net/allgemein/mssql-zugriff-unter-debian-etch-mit-unixodbc-und-freetds/ hay này http://b.gil.megiteam.pl/2009/11/linux-odbc-to-mssql/

Nhưng nó đã không làm việc. Cổng 1433 dường như bị đóng ($ sudo nmap -PN -sU -p 1433 192.168.56.101 -> cổng "được lọc")

isql -v sqlexpress sa -> chờ đợi không có phản hồi hoặc nhận được "couldn ' t kết nối với sql "

Từ PC khác với Windows Tôi không có vấn đề gì khi ghi dữ liệu trong SQL Server, vì vậy máy chủ phải được định cấu hình đúng để truy cập từ xa.

Bất kỳ ý tưởng nào?

Trả lời

7

Dưới đây là các liên kết Tôi đánh dấu liên quan đến chủ đề đó, hy vọng nó có thể giúp bạn:

Đó là một số thời gian trước đây, nhưng về cơ bản những gì tôi nhớ là:

Bạn phải tạo một mục nhập cho tài xế MSSQL đặc biệt mà bạn có trong một file có tên /etc/odbcinst.ini. Sau đó, đối với mỗi máy chủ MSSQL, bạn phải tạo một mục nhập (hoặc DSN), hoặc globaly trong /etc/odbc.ini hoặc người dùng địa phương, trong $ HOME/.odbc.ini.

Một số tên tôi đã sử dụng có thể khác (và tôi không có acces vào hộp Linux của mình ngay bây giờ để kiểm tra) nhưng bạn có ý tưởng chung.

Khi bạn đã làm điều đó, isql -d nên kết nối thành công với cơ sở dữ liệu. Nếu vậy, sau đó sử dụng C/Linux API cho ODBC nên là một miếng bánh. Các hướng dẫn được cung cấp trong các liên kết đã cho.

+0

Oh và tôi nhớ rằng một số tinh chỉnh phải được thực hiện trên MSSQL Server riêng của mình. Bạn phải cho phép kết nối TCP và truy cập bằng cách sử dụng thông tin đăng nhập/mật khẩu. – ereOn

4

FreeTDS là những gì bạn muốn. "FreeTDS là một bộ thư viện cho Unix và Linux cho phép các chương trình của bạn tự nhiên nói chuyện với cơ sở dữ liệu Microsoft SQL Server và Sybase."

http://www.freetds.org

+0

không có gì mới mẻ đối với tôi, không trợ giúp, tôi đã thực hiện tất cả những điều này, có cùng quy trình trong các liên kết tôi đã đăng .. – Meloun

+0

Nếu bạn không thể tìm thấy cổng 1433 mở trên hộp máy chủ SQL, thì bạn gặp sự cố không liên quan đến các thư viện bạn đang sử dụng. – Joe

+0

http://www.freetds.org là liên kết đã chết. – rstackhouse

Các vấn đề liên quan