2011-09-20 19 views
1

このフォントに異なる環境(Windows/Linux)と言語(Java/PHP/Windows)からアクセスできることを知りながら、SQL Serverデータベースにフォントを挿入する最も良い方法は、 Python/C#)?SQL Serverデータベースにフォントを保存するための最良の方法

私はC#のWinformsアプリケーションからフォントを挿入し、Javaアプリケーションからこのフォントを取得する必要がありますケースを持っており、現在、私はFont.NameFont.StyleFont.Sizeを挿入していますし、Javaから私はFont.Decode();メソッドを使用してフォントを検索しています。

多くの場合、フォントファイルをデータベースに転送し、関連付けられたファイルでフォントを識別するカスタム構成文字列を関連付けて、データベースからフォントファイル.ttfを取得する方が良いかもしれないと考えました。

例:Font NameFont SizeFont Style + Font File、時にはそのフォントがインストールされたり(フォントが私の場合には非常に重要である)別のシステム上の別の名前を持っていないので。

+2

フォントファイルは、他のバイナリファイルと同様のファイルです。他のバイナリファイルと同様に保存します(** tons **の質問があります)。 **しかし、**これは良いアイデアではありません - 結局のところ、フォントはしばしば**使用する前にターゲットシステムにインストールする必要があります**ので、あなたのJavaアプリケーションは単にファイルをつかむだけです - 私はこのシステムでフォントを動作させるのに十分ではないと思います。 –

+0

@marc_s私はフォントファイルについて確信していますが、それは私の心配ではなく、私の心配は私がしなければならないかどうか、そしてなぜ私は明らかにしましたか?そして私に必要なものはアイデアか、フォントが使用するその他のもの。 – Burimi

+0

@marc_s:私は、Javaのグラフィックスライブラリが、ファイルシステムからフォントファイルを読み込み(そしてこの状況ではバイトストリームである可能性が高い)、その後、 'Font java.awt.Font.createFont (int fontFormat、InputStream in); 'または' Font java.awt.Font.createFont(int fontFormat、File fontFile); '他の言語についてはわかりません。 –

答えて

2

マイクロソフトリサーチのTo Blob or Not To Blobという非常に優れた論文があります。

パフォーマンステストおよび分析多数の後の彼らの結論はこれです:あなたの写真や文書がVARBINARYカラムは、より効率的であるデータベースに格納、一般的にサイズが256K以下である場合

  • 通常、画像やドキュメントのサイズが1 MBを超える場合は、ファイルシステムに格納する方が効率的です(SQL Server 2008のFILESTREAM属性ではトランザクション制御とデータベースの一部です)

  • これら二つの間で
  • 、それはあなたがSQL Serverテーブルにあなたの写真を置くことにした場合、私は強く、それらを保存するための別のテーブルを使用することをお勧めしますご利用に

に依存トスアップのビットです写真 - 従業員表に従業員の写真を保管しないでください - 別の表に保管してください。このようにして、社員テーブルは、従業員の写真を選択する必要がないと仮定して、クエリの一部として、リーンで平均的で非常に効率的な状態を保つことができます。

ファイルグループについては、イントロについてFiles and Filegroup Architectureをチェックしてください。基本的には、最初から大きなデータ構造用に別のファイルグループを使用してデータベースを作成するか、後で追加のファイルグループを追加することになります。それを "LARGE_DATA"としましょう。今

、あなたはVARCHAR(MAX)またはVARBINARY(MAX)列を格納する必要が作成するための新しいテーブルを持っている時はいつでも、あなたが大規模なデータのために、このファイルグループを指定することができます。

CREATE TABLE dbo.YourTable 
    (....... define the fields here ......) 
    ON Data     -- the basic "Data" filegroup for the regular data 
    TEXTIMAGE_ON LARGE_DATA -- the filegroup for large chunks of data 

チェックアウトMSDNのファイルグループに関するイントロとその周辺で遊ぶ!

+0

いいこと+1私はそれを分析します。 – Burimi

関連する問題