問題タブ [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.
php - unixODBC (DB2) + PHP + CentOS によるセグメンテーション違反
2日間格闘した後、ここで助けを求めてみます。CentOS 5.4 サーバーで DB2 (iSeries) および PHP (5.3) を操作するために unixODBC (2.2.11) を使用しています。PHP を 5.1 から 5.3 にアップグレードしてからだと思いますが、特定のクエリで PHP が segfault するようになりました。いくつかの調査の後、次のテーブルなど、長い文字フィールドを持つ一部のクエリで問題が発生することを発見しました。
この単純なコードは、segfault を引き起こします。
unixODBC および/または PHP >= 5.1 の列の長さの制限またはバグはありますか? このWebアプリケーションは非常にうまく機能しましたが、この問題に遭遇しました..
ところで、unixODBC 2.2.14 と PHP 5.3 を搭載した最新の 64 ビット CentOS 6.2 マシンでテストしましたが、問題は同じです。
どんな助けでも大歓迎です、
ありがとう
ファビアン
更新: PHP odbc 関数を使用すると、動作します:
したがって、問題は PDO に関連しています。何か考えはありますか?
oracle - unixODBC / Oracle:odbc * .iniファイルではなく、接続文字列のみですべてのデータソース情報を指定するにはどうすればよいですか。
を使用してOracle(11g)に接続したいunixODBC
。接続文字列にはすべてのデータベース/データソース情報のみを指定し、ODBC INIファイル(/etc/odbc.ini
および/etc/odbcinst.ini
)には「.so」などの一般的なドライバー情報のみを含める必要があります。つまり、静的にする必要があります。これを実行して、ユーザーから外部から接続文字列を取得し、INIファイルやその他のディスク上の構成を変更せずにデータソースに接続できるようにします。
私が見たすべての例では、サーバー情報を次の/etc/odbc.ini
ように定義しています。
ここで、接続文字列に追加してUserIDとPasswordを接続文字列に取り込む方法を理解し、"UID=my_user;PWD=my_pass"
それらをから削除しましたodbc.ini
。接続ストリングからServerName
出入りする方法も見つからなかったとき、私の喜びはすぐに過ぎ去りました。odbc.ini
では、どうすればこれを行うことができますか?そして、MySQLの場合のように、DSNをodbc.ini
完全に削除し、接続文字列にDriver
fromだけを含める方法はありますか?odbcinst.ini
編集: TNSまたはDSNを必要としないように見えるwww.connectionstrings.com
からの接続文字列のいずれかを試してみると、EZCONNECT
バリアントを含めて、すべて私に次のようになります。
php - PHPとのunixodb接続が失敗する
unixODBCを使用してfreetdsをインストールしましたが、isqlを使用して接続をテストすると完全に機能しますが、phpを使用して接続しようとすると、S1000エラーが発生します。
構成の詳細は、freetds.confにDSNがあります。
私のodbc.iniファイルには
私のodbcinstファイルには
このチュートリアルを使用してインストールを行い、odbcinstを使用してドライバーをインストールしました。
PHPに接続するには、DSN接続を使用し、odbc_connectとmssql_connectの両方を試してみました。
私も次のコードでPDOを試しました
isqlを使用すると、すべてが正常に機能しました。
Microsoft SQLServer2008を使用しています。
誰かがこの問題を引き起こす可能性があることを知っていますか?前もって感謝します
sql-server - Ubuntuでperlを使用した未定義のシンボルSQLAllocHandle
perl プログラムが、代わりに使用すべき freetds ファイルではなく、ODBC.so ファイルをロードしようとしているようです。シンボル検索エラー メッセージが表示されます。ODBC.soでSQLAllocHandleを見つけようとしています
以前にこのエラーに遭遇した人はいますか? ドライバーのインストールが完了したばかりなので、完全に途方に暮れ、完全に混乱しています。
sql-server - Node-odbcがmssqlに接続できません
私は最後の1日か2日をubuntu12でunixODBCとfreetdsのセットアップに費やしました-それ自体は楽しいプロセスではありませんが、sqshとisqlの両方を使用して動作するようになりました。node-odbcをインストールし、github readmeで提供されているコードスニペットを使用して接続をテストしていますが、常に
isqlをisql -v SERVER user pass
使用して(正しい資格情報を使用して)実行し、use DATABASE
接続するとすべてが機能し、クエリを正常に実行できます。jsの私の接続文字列は
これはisqlとの接続に使用されるクレデンシャルと完全に一致しますが、ノードでは前述のエラーが発生します。なぜこれが起こっているのかについてのアイデアはありますか?odbc.iniファイルとodbcinst.iniファイルなどの場所を特定することは可能ですか?
参考までに:
/etc/odbc.ini:
/etc/odbcinst.ini:
助けてくれてありがとう!
perl - install_driver(ODBC) が失敗しました: モジュール DBD::ODBC の '/usr/local/lib64/perl5/auto/DBD/ODBC/ODBC.so' をロードできません: libodbc.so.1
現在のサーバー(centos 6.3)でperl 5.10.1を使用しています。Perl プログラムを実行するたびに、次のエラーが発生します。
次のコマンドを実行すると:
私は得るlibodbc.so.1 is not found
oracle - unixODBC SQLTables が常に 4294967295 の SQLRowCount を返すのはなぜですか?
次のコードを使用すると、Oracleデータベースで常にその値を取得できます
エラーメッセージがないため、この動作の明らかな原因はありません
Oracle ライブラリの使用: oracle-instantclient11.2-odbc-11.2.0.1.0-1.x86_64
そのような行動の理由について何か考えはありますか?
python - pyodbc:ubuntuでの.mdb接続エラー
システムにある .mdb ファイルにアクセスしようとしています。私のコードは次のようになります:
しかし、次のエラーに直面しています:
システムにpyodbc-3.0.6-py2.7-linux-i686.egg
インストールしました。Ubuntu 12.04を使用しています
oracle - Oracle odbc ドライバーが整数型と数値型に TYPE_NAME を与えないのはなぜですか?
odbc を使用してテーブルを動的に作成しようとしていますが、create table ステートメントで使用する正しい型の文字列を取得する必要があります。ただし、Oracle ドライバー (oracle-instantclient11.2-odbc-11.2.0.1.0-1.x86_64) から TYPE_NAME 文字列を取得する方法はないようです。次の型で SQLGetTypeInfo(hStmt, sqlType) を呼び出すと、常に空のレコードが返されます。
SQL_NUMERIC、SQL_INTEGER、SQL_BIGINT
それぞれNUMERIC、NUMERIC(10,0)、NUMERIC(19,0)を期待していました。またはhttp://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#i16209にリストされているように数値を置き換える NUMBER : NUMBER(p,s)
代わりに、SQL_ALL_TYPES のリストは NUMBER をまったくサポートしていないことを示していますが、代わりに文書化されていない (前述のリンクのように) DECIMAL 型があります。
この動作の理由と、ドライバー接続の DBMS 名を調べずに正しい文字列を取得する方法について何か考えはありますか?
PS: SQL_ALL_TYPES の戻り値: BLOB、LONG RAW、BFILE、RAW、CLOB、LONG、CHAR、DECIMAL、BINARY_FLOAT、BINARY_DOUBLE、DOUBLE PRECISION、DATE、VARCHAR2、NCHAR、NVARCHAR2、NCLOB
oracle - ルート権限がSQLDriverConnectを壊す可能性がありますか(通常のユーザーとして機能します)?
Linux(unixODBC)でOracleODBCドライバーによって奇妙な動作が発生します。
データベースに接続しているプログラムがあります。このプログラムは、権限のないユーザーによって呼び出された場合、期待どおりに機能しますが、root権限で呼び出された場合(sudoとsuの両方でテスト)、SQLDriverConnect呼び出しでハングし、数分後に停止します(コード1を返します)。エラーメッセージか何か。
私はシステムDSNと同じ正確な構成を使用しています(違いはroot権限のみです)。さらに面白くするために、同じコードを使用してpostgreSQLデータベースに接続し、非特権ユーザーとrootユーザーの両方でまったく問題はありません(したがって、unixODBCの問題ではないようです)。
それが本当にOracleドライバの問題の原因になるのか、それともその解決策のヒントになるのか、何か考えはありますか?
Oracleドライバのバージョン:oracle-instantclient11.2-odbc-11.2.0.1.0-1.x86_64