sql >> データベース >  >> RDS >> Oracle

外出先でOracleに接続する方法

    それでも興味があれば、私はWindowsでGoとOracleを数か月間使用しています。これまでの私のお気に入りのドライバーはgo-oci8です。 goracleよりもはるかに高速で、よりアクティブになっているようです。

    一部のアプリケーションは、アクセスできないコンピューターにデプロイする必要があります。両方のネイティブSQLドライバーは、外部構成を必要とせずにアプリケーションでコンパイルされるため、これは大きなプラスです。コンピュータには引き続きOracleクライアントをインストールする必要がありますが、それが唯一の外部依存関係です。

    go-oci8はまだ本番環境に対応しているとは言いませんが、その制限を知っていれば十分に安定しています。 1つの例は、複数のゴルーチンで同時に実行するとパニックになるため、必要に応じてミューテックスを使用することをお勧めします。

    私は基本的にこのチュートリアルに従ってインストールしました: https://gist.github.com/mnadel/8678269

    最もトリッキーな部分は、oci8.pcを正しく作成することでした。私のは:

    prefix=/devel/target/1.0
    exec_prefix=${prefix}
    libdir=C:/oracle/instantclient_12_1_64/sdk/lib/msvc
    includedir=C:/oracle/instantclient_12_1_64/sdk/include
    oralib=C:/oracle/instantclient_12_1_64/sdk/lib/msvc
    orainclude=C:/oracle/instantclient_12_1_64/sdk/include
    gcclib=c:/MinGW_64/mingw64/lib
    gccinclude=c:/MinGW_64/mingw64/lib
    glib_genmarshal=glib-genmarshal
    gobject_query=gobject-query
    glib_mkenums=glib-mkenums
    Name: oci8
    Version: 12.1
    Description: oci8 library
    Libs: -L${oralib} -L${gcclib} -loci
    Libs.private:
    Cflags: -I${orainclude} -I${gccinclude}
    

    冗長なものもあるかもしれませんが、クリーンなマシンで改善しようとするかもしれません。

    覚えておくべき重要なことは、GoとOracleクライアントに同じアーキテクチャを使用する必要があるということです。したがって、64ビットバージョンのGoを使用する場合は、64ビットバージョンのOracleも必要になります。私は両方の32ビットバージョンと64ビットバージョンの両方を持っています。64ビットがデフォルトですが、32ビットバージョンをビルドする必要がある場合は、batファイルを使用して必要なパスと環境変数を変更します。

    それを機能させるために時間を費やす価値があるかもしれません。おそらくODBCを使用するよりもはるかに優れたパフォーマンスが得られるでしょう。やや大量のデータ(500万行以上をフェッチするクエリ)で使用しており、非常にうまく機能します。




    1. コレクションの中で最も高価な映画の費用はいくらでしたか?

    2. Postgres9で現在の日付を更新するためのトリガー

    3. mysqlでトリミングせずにLPAD

    4. asp.netとvb.netを使用してSQLサーバーからExcelファイルにエクスポートしますか?