問題タブ [lob]

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 に答える
1822 参照

sql - Postgresql - 列の型を oid からバイトティーに変更してデータを保持する

現在、hibernate + postgresql を使用してデータを永続化するアプリケーションを開発しています。多数のシリアライズ可能な HashMap を格納する必要があるため、この目的のために LOB (oid) が使用されました。しかし、postgresql での oid の削除に関するいくつかの問題により、このデータを oid ではなく bytea として保存することにしました。問題は、古いデータを保持したまま、列の型を oid から bytea に変更する最良の方法は何かということです。誰かがそのようなデータ移行のための実用的なスクリプト/ソリューションを提供できれば、それは素晴らしいことです.

前もって感謝します。

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

oracle - Spring JDBC lob の挿入が失敗する: 列の型が無効です

コード:

lobHandler は、コンテキストに挿入される OracleLobHandler のインスタンスです。

例外:

これは Spring フレームワーク 3.0.5.RELEASE です。

オラクルドライバーの依存関係は

テーブル:

他にどのような情報を追加できるかさえわかりませんが、何かを省略した場合は喜んで追加します.

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

oracle11g - Oracle11gの一時LOBは解放できません

Oracle 11gR2を使用していますが、一時LOBが解放されない理由を誰かに教えてもらえますか?

私がする時

それはまだそこにあります。

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

python - メモリに制約のあるシステムでcx_Oracleを使用して巨大なOracleLOBをダウンロードするにはどうすればよいですか?

プロセスが約350MBのRAMに制限されているシステムの一部を開発しています。cx_Oracleを使用して、処理のために外部システムからファイルをダウンロードします。

外部システムはファイルをBLOBとして保存し、次のようにファイルを取得できます。

lob.read()MemoryError300〜350 MBを超えるファイルをヒットすると、明らかに失敗するため、一度にすべてを読み取るのではなく、次のようなものを試しました。

残念ながら、私たちはまだMemoryError数回の反復の後で得ます。時間lob.read()がかかり、最終的にメモリ不足状態になると、毎回lob.read()データベースから(chunk_size + read_size)バイトをプルしているように見えます。つまり、バッファがかなり小さい場合でも、読み取りにはO(n)時間とO(n)メモリが必要です。

これを回避するために、次のような方法を試しました。

これは一度に2000バイト(argh)をプルし、永久にかかります(1.5GBファイルの場合は2時間程度)。なぜ2000バイトなのか?Oracleのドキュメントによると、dbms_lob.substr()戻り値はRAWに格納されます。RAWは2000バイトに制限されています。

dbms_lob.substr()結果をより大きなデータオブジェクトに保存し、一度に数メガバイトを読み取る方法はありますか?cx_Oracleでこれを行うにはどうすればよいですか?

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

jpa - JDODetachedFieldAccessException:フィールド "attachment"にアクセスしようとしましたが、オブジェクトをデタッチしたときにこのフィールドがデタッチされませんでした

エンティティクラス:

永続性クラス/ロジック:

コンシューマークラス/ロジック:

私が得るエラー:

原因:javax.jdo.JDODetachedFieldAccessException:フィールド "attachment"にアクセスしようとしましたが、オブジェクトをデタッチしたときにこのフィールドがデタッチされませんでした。このフィールドにアクセスしないか、オブジェクトをデタッチするときにデタッチしてください。com.ge.dsp.iwork.entity.CustomerSurvey.jdoGetattachment(CustomerSurvey.java)at com.ge.dsp.iwork.entity.CustomerSurvey.getAttachment(CustomerSurvey.java:89)at com.ge.dsp.iwork.test .WorkServiceTest.testSubmitSurveyResponse(WorkServiceTest.java:270)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Delegating :25)orgのjava.lang.reflect.Method.invoke(Method.java:597)で。

ありがとう、

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

java - 「無効なストリームヘッダー」例外-JPAとMySQLを使用したLob

このように定義されたフィールドがあります

MySQL 5を使用しており、desccriptionフィールドタイプはTEXTです。

タイプItemのオブジェクトを読み取ろうとすると、次のエラーが発生します。

これの考えられる原因について何か考えがありますか?

JDK6とDataNucleus3.1.1を使用しています。

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

java - 注釈 @ Lob with JPA を持つデータ レコードのタイプは何ですか?

問題があります。バンク内に PDF ファイルを記録している場合、ファイルまたはバイト [] として保存した方がよいですか?

また

このファイルをデータベースから取得してブラウザに表示するにはどうすればよいですか?

なぜ私はこのようにするのだろうか:

しかし、このエラーが表示されます:

原因: org.hibernate.MappingException: No Dialect mapping for JDBC type: -4

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

dependency-injection - 横断的な概念をLOB/DIアプリケーションに実装する

私は現在、小さなパーソナルウィンドウ(デスクトップ).NET LOBアプリケーションを作成しています。この機会を利用して、 DIに関する知識と経験を増やしたいと考えています。アプリケーションをモデル、DAO、GUIの各部分に分けましたが、次のような分野横断的な概念を実装する方法を考えています。

  • 現在ログオンしているユーザー-次の目的で使用されます:
    • 権利の主張-アプリケーションの一部で、ユーザーが必要な権利を持っているかどうかを確認します
    • 監査-ユーザーアクションを別のデータベーステーブルに記録する
  • 現在のアプリケーションパラメータ(構成ファイルまたはテーブルからロード)-次の目的で使用されます:
    • ビジネス戦略の定義
    • UIの定義(たとえばテーマ)
  • ファイル/データベースログへのログ記録-次の目的で使用されます:
    • UIアクションのログ記録(ボタンのクリックなど)
    • ビジネスプロセスのログ記録(計算の結果、戦略の決定など)
    • インフラストラクチャのロギング(CRUD操作に使用されるSQL)

現時点では、この情報を提供するためのいくつかの方法を考えることができます。

  • 静的プロパティの使用-UserEntity.Current、Configuration.Current、Logger.Currentなど。
    • 長所:
      • 実装が簡単
      • 使いやすい
    • 短所:
      • 乱雑になります
      • アプリケーションのどの部分が何を使用しているかは不明です
      • より細かい粒度が必要な場合(たとえば、アプリケーションの一部のプロセスで現在の値をオーバーライドする必要がある場合)は使用できません。
  • DIの使用-この情報を必要とする各クラスにプロパティ/コンストラクターパラメーターを与える
    • 長所:
      • クラスごとに必要なものは明らかです
      • ユニットテストは簡単です
    • 短所:
      • コンストラクターを爆発させるようです
      • クラスにデフォルトのコンストラクターが必要な場合に問題が発生します
      • クラスがサードパーティ(XAML)によってインスタンス化されるときにセットアップが難しい
  • ServiceLocatorの使用
    • 長所:
      • セットアップが簡単
      • 使いやすい
    • 短所:
      • アプリケーションのどの部分が何を使用しているかは不明です
      • より細かい粒度を設定するのは難しい(ただし不可能ではない)

私は以前にServiceLocatorを使用したことがあるので、現在ServiceLocatorに傾倒しており、非常にうまく機能しました。しかし、私はコントロールの喪失を心配しています。設計上の問題を修正しようとする代わりに、サービスロケーターにたどり着くのは非常に簡単です。

誰かが彼らの経験/知識を提供できますか?

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

spring - ビューのpostgresからLobプロパティにアクセスする

Apache Tomcat(v6.0)で実行される標準のSpring Framework(v3.1.2)java(v1.6)データベースに裏打ちされた(postgres v9.1)Webアプリケーションがあります。Hibernate 3.6.10.Final and Spring DataJPA1.2.0.RELEASEを使用していることに注意してください。

2つのデータベースエンティティクラス(ChapterとChapterText)があり、それらの間には1対1の関係があります...

ここで、ChapterTextには大量のテキストを保持できる可能性のある@Lobプロパティが含まれているため、ChapterクラスでchapterTextプロパティをマークして、遅延ロードされるようにしました。

OpenEntityManagerInViewFilterをセットアップして構成したので、モデルにチャプターエンティティ(「chapter」という名前)を追加できます。その後、JSPXファイルでこれを実行できるはずです...

これにより、ChapterTextエンティティが遅延ロードされ、呼び出し元のブラウザ用に生成されたXHTMLページにbodyプロパティの値が含まれるはずです。

これは、私が何年も使用しているデータベースからの情報を表示するための非常に標準的な方法です。ただし、Postgresで@Lobプロパティを使用する必要があったのはこれが初めてです。これを行うと、次のスタックトレースが表示されます...

私が見つけたものから、Posgresは、自動コミットがfalseに設定されたトランザクションを介してアクセスされるラージオブジェクトにアクセスする必要があります。

厄介なことに、これを回避するために私が考えることができた唯一のアプローチは、@ Lobプロパティをフェッチし、@ Transactionalでマークし、表示目的で特別に作成されたBeanに値をロードするリポジトリメソッドを作成することです。それは機能しますが、少しエレガントではないようです。

誰かが別のアプローチのアイデアを持っていますか?

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

silverlight-5.0 - ServiceStack、Silverlight、LOB。インターフェイスとサービスの実装。アセンブリ-ベストプラクティス

ServiceStackのサービスコントラクト定義について少し混乱しています。

ここで述べたようにhttps://github.com/ServiceStack/ServiceStack/wiki/SilverlightServiceClient

ポータブルクラスライブラリまたはリンクされたプロジェクトを使用することが可能です。(OK、PCLには、[RestService]属性または一般に外部参照をサポートしないという制限があります。)

RouteAttribute実際には、の代わりに常に使用されるようになりましたRestServiceAttribue

新しいAPIがあります: https ://github.com/ServiceStack/ServiceStack/wiki/New-Api

したがって、、およびクラスの代わりにMyCall、次のようにジェネリックまたは型を直接使用することが可能です。MyCallResponseMyCallService

ここで、バニラプロジェクトについて考えてみましょう。

  1. DTOと「モデル」を定義して共有する場所が欲しいです。それらを一度定義し、検証属性などでタグ付けして、Silverlightプロジェクトや、データアクセス用の流暢なnhibernateアセンブリで再利用したいと思います。それが私が契約集会と呼んでいるものです。これは、各テクノロジスタックのPCLまたはリンクされたプロジェクト(私の場合はSilverlightおよび.NET 4(サーバー側))にすることができます。私は毎日サービスクライアントを生成したくないので、チャネルファクトリアプローチ/サービススタッククライアントの方法を実行したいのです。

  2. DAL(これは私の質問の一部ではありません)を持っていることに加えて、私はサービスロジック自体のために別のアセンブリを持ちたいです。契約とビジネスロジックの厳密な分離。私が最初に気付いたのはService、アセンブリスパムを取得せずに、サービス実装を(ServiceStackのもの)から継承するための一致するnugetパッケージを見つけることができなかったことです。ついに、私は使用することにしました:

    PM> Install-PackageServiceStack.Host.AspNet...。

    'Microsoft.Web.Infrastructure1.0.0.0'をHR.RoBP.Servicesに正常に追加しました。

    'WebActivator1.5.3'をHR.RoBP.Servicesに正常に追加しました。

    'ServiceStack.Redis3.9.35'をHR.RoBP.Servicesに正常に追加しました。

    'ServiceStack.OrmLite.SqlServer3.9.35'をHR.RoBP.Servicesに正常に追加しました。

    'ServiceStack3.9.35'をHR.RoBP.Servicesに正常に追加しました。

    'ServiceStack.Host.AspNet3.9.33'をHR.RoBP.Servicesに正常に追加しました。

プロジェクトに追加されたファイル(App_Start、jquery ...など)も削除しました。

サービスプロジェクトは、ホストプロジェクトによって参照およびホストされます。

ルーティングはどこで行う必要がありますか? 今、私はコントラクトで、またはホストアセンブリで手動でそれを行う必要があります。私は、サービスがどのようにアクセス/ルーティングされるべきかを言うべきだと思います。

要求/応答パターンクラスをサービスアセンブリに移動する必要がありますか?

私のアプローチは完全に間違っていますか?

WCFを使用する前。コントラクトアセンブリにモデル、要求/応答、およびIService定義があり、サービスアセンブリにIServiceが実装されています。ホストは.svcファイルを必要とし、それは機能していました。また、通信フレームワークなしで、サービスを直接呼び出すことで(たとえば、wcfエンドポイントをインスタンス化せずにコマンドラインアプリから)使用することができました。

対。

IMyCallServiceの昔ながらの方法を紹介し、それを実装し、iocのものを使用してMyCallService(ServiceStack)Execute()メソッド内で呼び出す必要があります...

私の目標は、実行時のアプリケーションの速度とコーディング速度の向上です。新しいメソッドを追加するときに、多くの場所や手順に触れる必要はありません。

私がすべきベストプラクティスは何ですか? ヒントや経験データは大歓迎です!

どうもありがとうございます!