質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
SQL Anywhere

SQL Anywhereは、パッケージソフト組込みやハードウェア組込みなどのパッケージの名称。RDBMSやデータベースの同期ミドルウェアもパッケージになっています。また、メインのRDBMSサーバーを指すこともあります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

4128閲覧

Microsoft SQL Server 用 ODBC Driver 接続問題

mouseiu

総合スコア0

SQL Anywhere

SQL Anywhereは、パッケージソフト組込みやハードウェア組込みなどのパッケージの名称。RDBMSやデータベースの同期ミドルウェアもパッケージになっています。また、メインのRDBMSサーバーを指すこともあります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/05/14 05:27

前提・実現したいこと

Microsoft SQL Server 用 ODBC Driverを使って、sqlanywhereデーターベースに接続したいですが、エラーが発生しました。
FreeTDSドライバーを使う場合、うまく接続できましたが、
MS ODBCドライバーはダメでした。

発生している問題・エラーメッセージ

コマンドラインで、isql -v MSODBC username password を実行するところ、下記のエラーが発生

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection because an error was encountered during handshakes before login. Common causes include client attempting to connect to an unsupported version of SQL Server, server too busy to accept new connections or a resource limitation (memory or maximum allowed connections) on the server..
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection due to prelogin failure.

ODBCinst.ini 及び odbc.ini設定について

ODBCinst.ini:

[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.7.so.2.1
UsageCount=1

[FreeTDS]
Description=Free Sybase & MS SQL Driver
Driver=/usr/lib/libtdsodbc.so
Setup=/usr/lib/libtdsS.so
Driver64=/usr/lib64/libtdsodbc.so
Setup64=/usr/lib64/libtdsS.so
Port=1433

ODBC.ini

[FreeTDSODBC]
Description = Conexao ao SQL Server 2008 R2
Driver = FreeTDS
Trace = No
Server = 192.168.0.2
Database = Databasename
Port = 2638

[MSODBC]
Driver = ODBC Driver 17 for SQL Server
Server = 192.168.0.2
Port = 2638
Database = Databasename

試したこと

ODBC.iniでServerのところを下記のように直してみたが、同様なエラーが出ます。
Server = tcp:192.168.0.2,2638

コマンドラインで sqlcmd -S 192.168.0.2,2638 -d Databasename -U -P を試したが、同様なエラーでした。

補足情報(FW/ツールのバージョンなど)

OS:Centos8
UnixODBC:2.3.7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

一体何に繋ぎたいのでしょうか?
SQL Server なら デフォルトポートはPort=1433です。
※Port = 2638はSQL AnywhereをOpen Server として利用する場合のポートの様ですが。

投稿2021/05/14 07:35

sazi

総合スコア25300

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mouseiu

2021/05/14 08:24

ご返信、ありがとうございました。 説明不足で失礼しました。 MSのODBCドライバーを使って、sqlanywhereデーターベースに繋がりたいです。データーベースサーバーのポートが2638のことを確認できた。FreeTDSドライバーは繋いたが、MSのドライバーはエラーでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問