問題タブ [multi-database]
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.
stored-procedures - マルチデータベースソリューションのアプリケーション層を介してのみ、ユーザーからのデータ操作を制限します
SQL Server(2005以降)、Oracle(10r2以降)、Sybase(12.5以降)に準拠する必要のある新しいソフトウェアの開発を開始しています。ストアドプロシージャを使用してデータベースの抽象化を実装することを計画しているので、それぞれの場合にデータベース固有のアプローチを実装するよりパフォーマンスの高いコードを使用できます。データの読み取りを含むすべてのテーブル情報へのアクセスを拒否し、ストアドプロシージャを介してのみ情報へのアクセスを許可する予定です。問題は、INSERTに使用されるストアドプロシージャにEXECUTEアクセス許可を付与するときに、ユーザーがSSMSまたはSQL Plusを介してデータベースに接続すると、プロシージャを直接呼び出すことでデータを追加できるようになることです。それを防ぐのが好きです。ストアドプロシージャを介したデータ操作は、アプリケーションを介してのみ実行する必要があります。アプリケーションとユーザーに別々のログインを与えることもできますが、ユーザーの資格情報を使用して、アプリケーションがNT認証を介してデータベースに接続できるようにしたいと考えています。これを行う方法はありますか?
私が達成しようとしていることを達成するためのより良い方法はありますか?
ありがとう
java - Spring+Hibernate+JPA を使用した複数のデータベース
2 つのデータベース (MySQL と MSSQL) で動作するように Spring+Hibernate+JPA を構成しようとしています。
私のdatasource-context.xml:
各 persistence.xml には、次のように 1 つのユニットが含まれています。
PersistenceUnitManager は次の例外を引き起こします:
Bean プロパティ 'persistenceUnitManager' の設定中に Bean 'persistenceUnitManager' への参照を解決できません。ネストされた例外は org.springframework.beans.factory.BeanCreationException: クラスパスリソースで定義された名前 'persistenceUnitManager' の Bean の作成中にエラーが発生しました [config/datasource-context.xml]: Bean の初期化に失敗しました。ネストされた例外は org.springframework.beans.TypeMismatchException です: タイプ [java.util.ArrayList] のプロパティ値をプロパティ 'persistenceXmlLocation' の必要なタイプ [java.lang.String] に変換できませんでした。ネストされた例外は java.lang.IllegalArgumentException です: タイプ [java.util.ArrayList] の値をプロパティ 'persistenceXmlLocation' の必要なタイプ [java.lang.String] に変換できません:
リストなしでpersistence.xmlを1つだけ残した場合、すべて正常に機能しますが、2つのユニットが必要です...
また、Spring + Hibernate のコンテキストで 2 つのデータベースを操作するための代替ソリューションを見つけようとしているので、解決策をいただければ幸いです。
に変更した後の新しいエラーpersistenceXmlLocations
:
{classpath:config/persistence.local.xml, classpath:config/persistence.remote.xml} で単一のデフォルト永続化ユニットが定義されていません
アップデート:
persistenceUnitName を追加しました。動作しますが、ユニットが 1 つしかないため、まだ助けが必要です。
アップデート:
構成ファイルを変更しました: datasource-context.xml
persistence.xml
現在、2 つの entityManagerFactory を構築していますが、どちらも Microsoft SQL Server 用です。
dataSourceのみを使用することをお勧めします.dataSourceRemote(置換なし)は機能しません。それが私の最後の問題です。
.net - LINQ To SQLを他のデータベース(MySQl、Oracleなど)に使用できますか
WPFでプロジェクトを作成し、LINQtoSQLを使用してデータベースO/RMを作成しています。プロジェクトが終了すると、MySQLをデータベースとして使用したい人がいるので、ソースコードを変更せずにLinqをMySQLに変更できます(接続を変更するだけかもしれません)。ストリング)
よろしく
sql - 複数のデータベースにわたる SQLite ビュー。これでいいですか?より良い方法はありますか?
SQlite を使用して、年ごとに分割された大規模なデータベースがあります。
要件は次のとおりです。 1. すべてのデータに一度にアクセスできること。2.挿入は現在のバージョンにのみ移動します。3. データは時間の経過とともに分割され続けます。4. アクセスは、排他的アクセスを持つ単一のプログラムを介して行われます。5. プログラムはいくつかのセットアップ SQL を受け入れることができますが、1 つまたは複数のデータベースにアクセスするときに同じ SQL を実行する必要があります。
それらをまとめて表示するために、次のことを行います(実際にはプログラムで、ここにコマンドラインを示します):sqlite3 DB_current.sq3
データベース 'DB_2006_thru_2007.sq3' を hist1 としてアタッチします。データベース 'DB_2008_thru_2009.sq3' を hist2 としてアタッチします。一時ビュー hist_tbl を作成 as select * from hist1.hist_tbl union select * from hist2.hist_tbl union select * from main.hist_tbl;
temp.hist_tbl (ビュー) と main.hist_tbl (テーブル) が追加されました。テーブルを修飾せずに選択すると、ビューからデータが取得されます。セットアップ方法に応じて、結合されたビューまたは個々のデータベースに対して既定の SQL クエリを使用できるため、これは望ましいことです。さらに、いつでも main.hist_tbl に挿入できます。
質問 1: 欠点は何ですか? 質問 2: もっと良い方法はありますか?
前もって感謝します。
python - django settings.py とマルチデータベースのヘルプ
私はdjango1.3を使用しています.app_idmod_0〜ap_idmod_999のような1000のデータベースにデータを入れたいと思っていました. 今、設定を変更しました。
うまくいきません。つまり、を使用する
manage.py syncdb --database=myapp_idmod_0
と、テーブルが作成されません。なぜ?どうすれば動作させることができますか?
python - settings.py での Django プロジェクトのマルチデータベース構成
現在、C# で記述された asp.NET 内部 Web サイトを取得し、Django Web フレームワークでやり直しています。.NET サイトで現在使用されているすべてのデータ ソースを特定した後、Django フレームワーク内からそれらのデータベースに接続する機能の構成とテストを開始しました。
- プラットフォーム: アーチリナックス
- ジャンゴのバージョン: 1.3.1
- Python バージョン: 2.7
問題: デフォルト データベースとして定義されていないデータベースに接続しようとすると、接続できません。さらに、接続できないデータベースは、デフォルトでないと定義されている場合のみです。
この点をさらに説明するために、編集された例を示します。
最初の既定のデータベース定義をコメント アウトし、mssql データベースの名前を既定に変更すると、次の方法で dbshell にアクセスできます。
ただし、上記で定義されているように、mssql データベースに直接アクセスしようとすると、次のようになります。
エラーが発生します:
定義を適切に解析できないかのようです。したがって、私の質問は基本的に次のとおりです。データベースをペアにするときにデータベースを正しく定義していませんか?
hibernate - マルチデータソース:1RW+多数のRO
読み取りおよび書き込み操作のセットを備えた単一のデータベース「dbMain」を備えたアプリがあります。
次に、SomeServiceImplで使用するために、読み取り専用操作用に追加のデータベースdb1-db10を使用して追加する必要があります。
問題は:
- SomeServiceImplでいくつかのDAO(dbMainおよびdb1用)を使用する必要があります
- tx:annotation-drivenで定義できるtransactionManagerは1つだけであり、@Transactionalはそれだけで動作します。
- db1DAOを使用した操作で、SomeServiceImplでdb接続リークが発生することがありました。少なくとも@PostConstructinit(){...}
本当に、JTAを使いたくない。そのような環境を構成する適切な方法は何ですか?
追加のデータベース:
codeigniter - CodeIgniter MultiDatabse 接続エラー
CodeIgniter で複数のデータベースを接続するためのメソッド/チュートリアルがたくさんありますか? 私とはまだ遠い。CIでマルチデータベースに接続するように提供してくれる人もいます。これは、ブログで見つけた私の使い方です。すみません、ブログのアドレスがわかりません。
私はこのコードでそれを呼び出しました
そして、私はこのコードで単純な行を挿入しました
このエラーが発生しました 無効なデータベース接続グループを指定しました。 このエラーを解決するにはどうすればよいですか?
django - ルーターを使用した Django データベースはカウントを返しますが、レコードはありません
スプレッドシートで収集されたデータが取り込まれた django-orm データベースがあります。データベースの現在の状態をスプレッドシートの内容と照合するための diff 関数を作成しようとしています。ルーターを使用してスプレッドシートからデータをロードし、一時的な sqlite データベース (「デフォルト」データベースは postgres) に入れます。私のルーターは次のとおりです。
私のdiffスクリプトからテストします:
これの出力は次のとおりです。
.count()
メソッドが 1680 個のオブジェクトを検出した場合、この最後のクエリが空になるのはなぜですか?
編集ここにいくつかのボーナス診断情報があります(from IPython import embed
スクリプトの実行中にスクリプトの状態を確認するために使用します):
問題は、Stimulus オブジェクトが外部キーであり、ルーターがどこから読み取ればよいか混乱していることだと思います。ただし、ipython コンソールで ID によって Response オブジェクトをプルアップし、その Stimulus を通常の属性 ( r = Response.objects.get(id=123)
then s = r.stimulus
) として取得できます。
別の編集私は機能的だが満足のいく解決策をハックしました:
なぜこれが機能し、機能しないのかわかりResponse.objects.all()
ません。