問題タブ [unixodbc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5373 参照

sql-server - isql ユーティリティを介した Linux クライアントからの SQL サーバー ログイン (Windows 認証アカウント)

Windows で実行されている SQL Server に Redhat マシンから接続しようとしています。「SQL Server」アカウントを介してサーバーにログインできますが、「Windows 認証」アカウントからはログインできません。私はあらゆる種類のトリックを試しましたが、どれもうまくいきませんでした:

私もグーグルで見つけました:https://askubuntu.com/questions/167491/connecting-ms-sql-using-freetds-and-unixodbc-isql-no-default-driver-specified

unixODBC ドライバーはありますが、freetds はありません。freetds がなくても接続できるはずです。それとも、unixODBC ドライバだけでは接続できないのでしょうか?

-- Benny Hill の提案に従って freetds をインストールし、構成に従いましたが、それでも動作しませんでした。

odbc.ini:

Set Upodbcinst.ini (freetds の RedHat インストールにはファイルが付属していません。

ここで、接続しようとすると、次のエラー メッセージが表示されます。

freetds を介してアカウントに接続することさえできませんSQL Server(freetds がなくても接続できました) -Windows Authenticationアカウントについて何が言えますか?

0 投票する
0 に答える
237 参照

python - どの ODBC Driver Manager がインストールされているかを推測する Python スクリプト

distutils を使用して、ユーザーのシステムで利用可能な ODBC ドライバー マネージャー (存在する場合) にリンクする必要がある Python C 拡張ライブラリを配布しています。Windows の場合は、システムが提供するマネージャーを使用すると想定しても問題ありません。ただし、他の OS では、いくつかのドライバー マネージャーが利用可能です (主に iODBC または unixODBC のいずれか)。

setup.py スクリプトが動的に選択できるように、これらのどれがユーザー OS にインストールされているかを検出する方法を知っていますか? 理想的には、Mac および主流の Linux ディストリビューションで機能します。

0 投票する
4 に答える
13033 参照

linux - RODBC が odbc 設定を認識しない

Red Hat Linux 6 サーバーで R 2.15.2 を実行しています。私の目標は、RODBC を介して別のマシン上の MS SQL Server データベースに接続することです。私は調査を行い、Microsoft サポート Web サイトから Linux バージョンの MS SQL ODBC ドライバーをダウンロードしてインストールしました。ソースから unixODBC バージョン 2.3.0 をビルドする必要がありました。これは Windows ドライバーで必要であり、RHL リポジトリにはまだ含まれていないためです (リポジトリ バージョンは 2.2.14 です)。

isqlとにかく、少し作業した後、最終的にドライバーをインストールして適切に構成し、コマンドを介して SQL Server データベースに正常に接続できます。

odbc.iniodbcinst.iniファイルが適切に設定されていることがわかります。

ただし、R 内から ODBC 接続にアクセスしようとすると、次のようになります。

odbcDataSourcesRでのコマンドの結果は次のとおりです。

私はいくつかの調査を行ってきましたが、解決策 (間違っている可能性があります) は、ODBC 環境変数を適切に構成して、RODBC がodbc.ini. 私の調査に基づいて、関連する可能性のある次の環境変数を見つけました:$ODBCINI, $ODBCSYSINI, $ODBC_ROOT $ODBC_INCLUDE, and $ODBC_LIBS. これらを何に設定するかについて合理的な考えがありますが、それらを永続的に設定する方法がわかりません。適切なファイル。

誰かが私のためにこれに光を当てることができますか? isqlLinuxで環境変数がどのように機能するか、特に接続に問題RODBCがないのに、ドライバー/データソースさえ見つからない理由を正しく理解しているかどうかはわかりません。

注: unixODBC のリポジトリ バージョンをインストールした場合、RODBC はinstall.packages('RODBC')R のコマンドを使用して問題なくインストールされます。しかし、ソースから unixODBC 2.3.0 をインストールした後、RODBC のインストールは依存関係の問題のために失敗し、ここに掲載されているガイドを使用して、ソースから RODBC をインストールします。最初に ODBC を適切に構成できなかった可能性があります。それが原因で、現在問題が発生していますか?

0 投票する
3 に答える
8770 参照

sql-server-2008 - freeTDSとunixODBCを使用してSQLServerから文字列を正しく受け入れるようにpyodbcを構成するにはどうすればよいですか?

MSSQLサーバーからPythonに有効な文字列を取得できません。どこかにエンコーディングの不一致があると思います。tsqlとisqlで読み取り可能な結果を​​取得できるため、ODBCレイヤーとPythonの間にあると思います。

pyodbcはどの文字エンコードを期待していますか?これを機能させるには、チェーン内で何を変更する必要がありますか?

具体例

例として、簡略化されたPythonスクリプトを次に示します。

このスクリプトの出力は次のとおりです。

または、スクリプトの最後の行が次のように変更された場合:

その結果は次のとおりです。

tsqlを使用して同じクエリを実行するトランスクリプト:

また、isqlでも:

だから私は朝にこれで働き、高くも低くも見え、何が悪いのか理解していませんでした。

詳細

バージョンの詳細は次のとおりです。

  • クライアントはUbuntu12.04です
  • freetds v0.91
  • unixodbc 2.2.14
  • Python 2.7.3
  • pyodbc 2.1.7-1(ubuntuパッケージから)&3.0.7-beta06(ソースからコンパイル)

  • サーバーは、SQL Server Express2008R2を搭載したXPです。

クライアント上のいくつかの構成ファイルの内容は次のとおりです。

/etc/freetds/freetds.conf

/etc/odbcinst.ini

/etc/odbc.ini

0 投票する
3 に答える
11380 参照

sql-server - OS X Lion で odbc が MSSQL データ ソースに接続できない

odbcisqlはデータ ソースに接続できませんでした:

戻り値:

tsqlは大丈夫です:

戻り値:

$ cat ~/.freetds.conf:

$ cat ~/.odbc.ini:

$ cat ~/.odbcinst.ini:

freetds自宅でunixODBCインストールされますbrew

CentOS でも同様のセットアップがあり、mssqlserver への odbc isql は正常に動作しています。libtdsS.so顕著な違いがあります。OS X にインストールされていることはわかりません。

# cat /etc/odbcinst.iniCentOS の場合:

それが問題の原因ですか?

ps の$ odbcinst -j戻り値:

$ odbcinst -q -d戻り値:

$ odbcinst -q -s戻り値:

0 投票する
1 に答える
873 参照

sql-server - bcpユーティリティはテーブルをロードしませんが、エラーは発生しません

パッケージに付属のユーティリティを使用して、ファイルからMSSQL-2008データベーステーブルにデータをインポートしようとしています。データベースはWindowsマシン上にあり、Linuxマシンからbcpコマンドを実行しています。bcpunixODBC-2.3.0

私が抱えている問題は、コマンドを実行した後、応答がなく、ターゲットテーブルにデータがインポートされていないことです。何が問題になっているのかわかりません。使用しているコマンドは次のとおりです。

XX.XX.XX.XXマシンのIPはどこにありますか。指定されたログファイルに出力やエラーはありません。

同じbcpコマンドは、Windowsのcmdプロンプトから使用しているときに正常に機能しています。

0 投票する
2 に答える
1076 参照

sql-server - unixODBC でデータベース名をハイフンで指定するにはどうすればよいですか?

Linux ボックスから接続する必要がある pm-eng という名前の SQL Server データベースがあります。unixODBC をセットアップし、odbc.ini を次のように構成しました。

iSQL でテストすると、'pm' データベースが存在しないというエラーが表示されます。データベース名を [] と引用符で囲んでみましたが、うまくいきませんでした。理想的には、DB の名前を変更するだけですが、この環境ではそれは不可能です。ハイフンでつながれていない DB 名で接続を確認しましたが、正常に動作します。ハイフンでつながれた DB 名を持つ ODBC DSN に接続できますか?

0 投票する
3 に答える
46 参照

unix - BASH sh スクリプト

BASH シェル スクリプトを開始したいのですが、私のコンピューターは Windows 7 (64 ビット) で実行されています。オペレーティング システムを変更せずに UNIX をダウンロードする方法はありますか。UNIX をダウンロードするにはどうすればよいですか。ありがとう

0 投票する
1 に答える
1378 参照

php - NULL 列をカウントするときの FreeTDS 無効なカーソル状態

COUNT()NULL 値を含むフィールドで関数を使用するクエリの実行に問題があります。

unixODBC、PHP 5.3.10、および SQL Server 2008 で FreeTDS v0.91 を使用しています。7.2 プロトコルを使用するための接続があります。次のクエリを実行しようとしています。

このクエリは、メンバーシップのすべての ProductCode が null の場合にのみエラーをスローします。これを SQL Server で直接実行すると、それがどのように評価されるか (0 まで) が評価されます。

FreeTDS からこのクエリを実行しようとすると、次のエラーが表示されます。

SQLSTATE[24000]: 無効なカーソル状態: 0 [FreeTDS][SQL Server]無効なカーソル状態 (/builddir/build/BUILD/php-5.3.10/ext/pdo_odbc/odbc_stmt.c:537 の SQLFetchScroll[0])

なぜ私がこのエラーを受け取るのか知っている人はいますか? 一度に 2 つの結果セットをループしようとしたときに同様のエラーが発生したことを覚えていますが、これは単一のクエリです。

に null 以外の値を持つレコードがある場合、このクエリは正常に機能しますProductCodeCOUNT()の結果がゼロだった場合にのみ失敗するようです。

この問題の原因や解決方法を知っている人はいますか?

0 投票する
1 に答える
1078 参照

php - 空のレコードセットをテストする方法

PHP ODBC ライブラリを使用して MSSQL 2008 サーバー ( http://php.net/manual/en/ref.uodbc.php ) に接続しています。

私のストアド プロシージャの中には、レコード セットを返さないものがあります (たとえば、単に挿入または更新を行うだけです)。このような状況では、出力を適切に処理できるようにしたいと考えています。データベース呼び出しが行われた後、出力は配列に挿入され、処理のためにアプリケーションに返されます。コードの主要部分は次のとおりです (エラー処理などを除く)。

が正常$sql_resultに実行されたが、レコード セットが含まれていない場合 (挿入または更新に続く場合)、次のodbc_fetch_array警告がトリガーされます。

警告: odbc_fetch_row(): この結果インデックスで使用できるタプルはありません

理想的には、空のレコード セットが含まれているかどうかを最初にテストしたいと思い$sql_resultますが、私が試した明らかな試みはすべて、常に同じ警告メッセージにつながります。

$sql_resultが空かどうかを確認するきちんとした方法を知っている人はいますか?