問題タブ [instantclient]
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.
c - Oracle OCI - 別のユーザーとして実行すると ORA-12705 で失敗する
データベースと通信するために OCI を使用する C アプリケーションがあります。私はインスタントクライアント方式を使用しているため、サーバーにスタンドアロンの Oracle インストールはありません。アプリケーションがリンクされているライブラリがいくつかあるだけです。
通常、アプリケーションはユーザー dai として実行され、すべて正常に動作します。ただし、アプリケーションが (グループ dai の) 別のユーザーとして実行されている場合、実行に失敗し、次のように報告されます。
したがって、これはアクセス許可エラーであると想像できますが、どのファイルにアクセスしようとしているのかはわかりません。Oracle ライブラリの権限は次のとおりです。
ご想像のとおり、メインの OCI ライブラリは静的にリンクされていますが、動的にリンクされたライブラリが 1 つあります (理由はわかりませんが、AIX のインスタントクライアント パッケージにはこれらのファイルが付属していました...)。私の LIBPATH は両方のユーザーから問題ないように見えます:
他にどの権限を確認する必要がありますか?
編集:何が起こっているかを確認するためにtruss
、(Linux に相当する AIX) を実行しようとしました。strace
dai ユーザーとして実行しているときに、予期しないファイルを読み取っているのを確認できませんでした。Truss は set-uid プログラムのトレースに問題があるようでした - C アプリケーションのパーミッションは次のように設定されていました:
だから私はchmod a-s
やり直し、もう一度試しましたが、今はうまくいきます!
そのため、プログラムは s ビットがなくても問題なく実行されますが、元に戻すとすぐに再び壊れます。s-bit セットで truss を実行できないため、なぜこれが必要なのかを見つけるのが難しくなっています。プログラムは s ビットが設定されていないと他の状況では動作しないため、これは実行可能な解決策ではありませんが、問題が発生している可能性がある場所へのポインタになることを願っています。
oracle - Oracle11gデータベース上のOracleORA-01805
Oracle10gデータベースは最近11gにアップグレードされました。データベースはWindowsServer2003X64マシンで実行されています。TIMESTAMP(6)WITH TIME ZONEデータ列を持つテーブルにアクセスする.NETアプリケーションからのSQLクエリで、次の例外が発生します。
System.Data.OracleClient.OracleException:ORA-01805:日付/時刻操作でエラーが発生する可能性があります
例外に対して推奨されるアクションは、クライアントとサーバーが同じバージョンであることを確認することです。
ORA-01805:日付/時刻操作でエラーが発生する可能性があります原因:クライアントとサーバーのタイムゾーン・ファイルが一致していません。操作により、ローカルタイムゾーンファイルに基づいて誤った結果が生じる可能性があります。処置:クライアントとサーバーのタイムゾーンのバージョンが同じであることを確認してください。
次のクエリを実行して、問題のデータベースのタイムゾーンを確認しました。クライアントのタイムゾーンを設定する(またはタイムゾーンファイルを変更する)方法に関する情報が見つかりません。
クライアントがインストールしたインスタントクライアント(バージョン11_2)を参照していると思いますか?System.Data.OracleClient.OracleConnection
.NETFrameworkによって提供されるようにクエリを実行しています。UIは、「タイムゾーンバージョン」によって、タイムゾーンファイルのバージョンを参照していると想定します。インスタントクライアントにタイムゾーンファイルがある場所がわかりません。どんな提案も認められます。
.net - xcopy ODP.NETおよびインスタント・クライアントを使用したORA-28547
http://ora-00001.blogspot.com/2010/01/odpnet-minimal-non-intrusive-install.htmlで説明されているように、Oracle odp xcopy 展開とインスタント Oracle クライアントを使用しようとしています 。
目標は、マシンに何もインストールせずに oracle を使用することです。
コードを実行すると、次のエラーが表示されます: ORA-28547: サーバーへの接続に失敗しました。Oracle Net 管理エラーの可能性があります
接続文字列を変更して無効なホスト、ポート、または sid を指定すると、適切なエラー (ホスト、または sid またはポートが間違っている) が返されましたが、問題がなければ、ORA-28547 が発生します。
これが私のコードです:
助けていただければ幸いです
python - cx_Oracle + Oracle インスタンス クライアント 11g がハングアップする
次のコードは Instant Client 10g では正しく動作しますが、Oracle Instant Client 11g を使用するとハングアップし、pool.release(conN) でハングアップします。
PS: cx_Oracle のソース コードを調べます。オンラインで seesionpool.c に手を入れています
それを解決する方法はありますか?
PPS: OS Windows XP および 2008R2
python - cx_oracle OSX インストール エラー
そこで、ここの指示に従って Oracle InstantClient をインストールしました。
環境変数を設定せずに Oracle Instantclient を Mac OS/X にインストールしますか?
しかし、cx_oracle をインストールしようとすると、次のスタック トレースが表示されます。
ここで何が間違っていますか?InstantClient のインストールを行ったときに、何か見逃していましたか?
コピーされたライブラリのリスト
php - 致命的なエラー: 未定義関数 oci_connect() の呼び出し
次の行のコメントを外しています (php.ini 内):
そして、このファイルをダウンロードしinstantclient-basiclite-nt-11.2.0.2.0.zip
て解凍し、ドライブDに配置しました...
Windows XP を使用しています
次のように環境変数を設定します。
しかし、oci_connect()
関数を実行すると、次のエラーが表示されます。
致命的なエラー: ... で未定義の関数 oci_connect() を呼び出します
そして、erroeLogファイルで次の警告を見つけました:
[29-Dec-2011 00:36:39] PHP 警告: PHP の起動: 動的ライブラリ 'c:\php\ext\php_oci8.dll' を読み込めません - 指定されたモジュールが見つかりませんでした。行 0 で不明
[29-Dec-2011 00:36:39] PHP 警告: PHP の起動: 動的ライブラリ 'c:\php\ext\php_oracle.dll' を読み込めません - 指定されたモジュールが見つかりませんでした。
oracle - Win32用のOracleInstantClient Basic Lite 11.2.0.3.0は存在しますか?
ODP.NET 11.2.0.3.0は2011年12月28日にリリースされ、その説明にはOracle InstantClient11.2.0.3.0が含まれていると記載されています。インスタントクライアントのバイナリをアプリケーションで直接配布しているので、ファイルサイズを小さくするためにインスタントクライアントのBasicLiteバージョンを使用しています。そのため、ODP.NETが更新されたときに以前に行ったように、新しいBasic Liteバージョンをダウンロードしようとしましたが、Oracle InstantClient11.2.0.3.0のWin32ダウンロードはありません。ダウンロードページには、最新バージョンとして11.2.0.2.0が表示されます。
新しいBasicLiteバージョンはどこでも利用できますか?または、古いものを使用できますか?
編集:リリースノートで2番目の質問に対する答えを自分で見つけました:
ODP.NETには、OracleClient11.2.0.3.0またはOracleInstantClient11.2.0.3.0が必要です。
oracleclient - Oracle クライアントとインスタント クライアントの違い
インスタント クライアントと Oracle クライアントの違いは何ですか?
oracle - 10gクライアントを使用したOracleDB11gへの接続-構文エラー
Ubunutマシンでは、次のコマンドを使用して、11gインスタントクライアントを使用してOracle11gデータベースに接続します。
これは問題なく動作します…MacOSX Mountain Lionでは、インスタントクライアント10g(32ビットバージョン)しか実行できませんでした。同じ回線を使用して接続しようとすると、このエラーが発生します。
構文は10gから11gに変更されましたか?
sql - Oracle Instant Clientでダイレクト・パス・ロードを使用できますか?
ctlファイルを使用した一括アップロードにOracleフルクライアントでSQL*LOADERを使用しました。しかし、SQL*LOADERが機能しないインスタントクライアントに移行することを計画しています。Oracle OCIリファレンスhttp://oracle.su/docs/11g/appdev.112/e10646/oci13obn.htm#BAJJGACHから、OCIでダイレクトパスロードを使用できることがわかりました。これは、Oracle Instant Clientを使用してダイレクトパスロードを使用できることを意味しますか?これをどのように使用するかについて、いくつかの優れたリンク/チュートリアルを教えていただけますか?