問題タブ [interbase]
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.
delphi - Delphi 7 / Win 7 x64 での IBQuery は、2 回目のクリック後にのみ機能します
Win7 x64 を搭載した一部のマシンで、一部の Ibquery に問題があります。問題は、クエリが最初に機能しないことです。ボタンを押すとクエリが空になり、もう一度クリックすると(ダブルクリックではなく)、正常に機能します。私は問題を見つけることができません.誰かがアイデアを持っているか、同じ問題を抱えていましたか?
c# - C# から Interbase バージョン 5 に接続する
interbase
を使用して(バージョン5.5 / 5.6)の古いバージョンに接続する方法を知っている人はいますか.NET/C#
の最新バージョンのドライバーが動作するかどうか、interbase
または最終的に破損するかどうかはわかりません
.net - StoredProc を使用して FBDataAdapter がフィル時にハングする
私は奇妙な問題を抱えています。私は .Net 用に Firebird を使用しており、Interbase データベースを使用しています。SQL クエリを使用してデータセットを入力しようとすると正常に動作しますが、storedProc を実行しようとすると、fill メソッドでハングします。
これが私のコードのスニペットです:
データベースとの接続がすでに開いている場合に発生することが示唆されている問題をグーグルで調べたので、接続を開かないスタンドアロンユーティリティを作成しました(Dataadapterは独自に接続を管理します)。
ここで何が間違っているのかアドバイスしてください。
敬具、アリ
linux - ファイルシステムの書き込みをリモート アプリケーションのバイナリ diff として記録しますか?
インターネット経由で複製したい、継続的に更新される ~20GB の Interbase バックアップを使用しています。転送されるデータを最小限に抑えるにはどうすればよいですか?
バイナリ diff ツールの使用を検討していましたがbsdiff
、少なくとも O(7n) メモリが必要であることは理解しています。これらの Interbase バックアップは、gbak
とにかく Interbase 独自のものを使用して、LAN 経由で増分的にのみ変更されています。Linux ファイルシステム (ext/btrfs/...) にフックして、このファイルに加えられたすべての変更をキャプチャし、それを共通の差分形式としてエクスポートし、別の (Windows) プラットフォームで再構築する方法はありますか?
sql - XMLへのベース間クエリ
データをプルする必要があるInterbaseデータベースがありますが、xmlに入れることができないようです。私はaddressesという名前のテーブルを持っており、ADDR1、ADDR2、STATE、ZIP、GARAGINGを取得する必要があります。SQLを使用して情報を簡単に取得できますが、XMLとして出力する必要があります。私はいくつかの調査を行い、次のことを発見しました。
http://support.codegear.com/article/35491
しかし、それは私には少し混乱しています。そして少しだけ私は多くのことを意味します。
誰かがXMLとして出力する方法を説明できますか、あるいはプロセスをよりよく説明できますか?
c# - 正しい文字エンコードを検出できません
InterBase4.2.1で作成された古いinterbaseデータベースファイルからデータを抽出する必要があります。組み込みバージョンのFirebird(バージョン2.5.1)と.NetProvider(バージョン2.7.0)を使用しています。私はこれまでfirebirdのインターベースで作業したことはなく(ただし、SQL SERVERとSQLiteの経験はあります)、Webをクルージングして2日間実験した後、まだ解決策を見つけていません。
データベースのテーブルには、英語のデータだけでなく、ヘブライ語のデータも含まれています。私は楽観的でしたが、UTF8を使用して接続文字列を作成することから始めました。
しかし、それは私に次の例外を与えました:
fbintl.dllを正しく使用しました。(以下のアプリケーションディレクトリとサブディレクトリのファイルを参照してください)。ProcessMonitorを使用して、fbintl.dllがロードされているかどうかを確認しました。
そこで、各文字セットを列挙FbCharset
して接続しようとすると、半分以上が同じ例外をスローし、他の文字セットと接続してヘブライ語フィールドの1つをクエリすると(を使用してIDataReader.GetString()
)、結果として常に同じガベージが発生しました。接続文字列でどの文字セットを指定するかは問題ではないようです。文字セットをまったく指定しなくても、結果は常に同じです。
次に、データベースで定義されている文字セットを照会し、SELECT RDB$CHARACTER_SET_NAME FROM RDB$CHARACTER_SETS
それらを列挙して、それぞれに接続しようとしました。例外をスローしたものもあれば、以前と同じ結果を出したものもありました。
データベースが作成された文字セットがわかりませんが、データベースの各フィールドの文字セットを確認したところ、すべてのテキストフィールドの文字セットが「NONE」に設定されています。
しかし、システムテーブルのテキストフィールドの一部に文字セットとしてUNICODE_FSSが含まれていることに気付きました。接続文字列でその文字セットをすでに試しましたが、要求されたテキストフィールドに対してまだgarbadgeが表示されます。
私の最後の試みは(を使用してIDataReader.GetBytes()
)バイトを取得し、文字列を自分でエンコードすることでしたが、これによりキャスト例外が発生します(Unable to cast object of type 'System.String' to type 'System.Byte[]'.
)
このデータの読み方について誰かアイデアがありますか?データを抽出するとデータベースは使用されなくなるため、データベースを永続的に変換する必要はありません。
編集:ところで、無料の軽量のInterbase / Firebirdデータベースビューアはありますか?( SQLiteSpyと比較して)良いものを見つけることができないようです?
マーク
delphi - Delphi で Firebird データベースを作成しようとすると EIBInterBaseError 'unavailable database' が発生する
実行時に Firebird データベースを作成しようとしています。これを行うために使用している手順は次のとおりです。
この機能をテストするために作成した小さなプロジェクトでは、問題なくこれを達成しました。ただし、このコードを同じマシン、同じ Delphi、同じすべてで実行しようとすると、別の (そして非常に大きな) プロジェクトであることを除いて、IBDatabase1.CreateDatabase 行で次のエラーが発生します。
誰もこれについて何か手がかりを持っていますか? これを適切にデバッグする方法はありますか?
前もって感謝します。
編集
私のプロジェクトファイルに何かあるようです。なんとか新しいものを生成して問題はなくなりましたが、将来これに噛まれるのではないかと心配しています。何が原因でしょうか?
firebird - データベースが作成された Interbase または Firebird のバージョンはどれですか?
拡張子のファイルがあります.ib
。InterbaseファイルまたはFirebirdファイルのいずれかであると推測していますが、どちらを正確に判断するのに苦労しています。さらに、ファイルの作成に使用された Interbase (または Firebird) のバージョンも明確ではありません。
私がこれまでに見つけたもの:
このファイルを読み取るためにさまざまなソフトウェア (FlameRobin、Firebird の isql.exe、Interbase の最新バージョン) を試しましたが、ODS ("On Disk Structure") がバージョン 9 であるというエラー メッセージが表示されました。これはかなり古いものです。 、そして Firebird が Interbase からフォークされた頃にさかのぼります。
Firebird を使用してデータベースに接続し、クエリを実行することができましたが、いくつかのエラーが発生したため、実際には Interbase データベースであると思われました (必要に応じてさらに説明できます)。
私が扱っているデータベースの種類を正確に判断する簡単な方法はありますか? つまり、それは Interbase または Firebird ファイルですか? もしそうなら、どのバージョンで書かれましたか?
編集:gstat.exe -h
Firebird 2.5を使用した実行の出力:
要約すると:
- Firebird のコピーを入手する
gstat.exe -h
bin ディレクトリから実行- 出力から ODS バージョンを取得する
- ここの表で調べてください
delphi - Delphi から Interbase データベースを読み取るために、ネイティブの Interbase コンポーネントを使用する必要がありますか
Interbase 5.5 データベースを使用しています (注: これは非常に古いバージョンで、2000 年ほど前のものです)。
IBDatabase
これまでのところ、Delphi に同梱されている「ネイティブな」Interbase コンポーネント (IBQuery
など) を使用して接続することができました。
Delphi から Interbase に接続する方法は他にもいくつかあるようです。
- BDE
- dbExpress
- ユニファイド インターベース
- その他??
これらの他の方法を使用する利点はありますか、それとも「ネイティブ」コンポーネントを使用する必要がありますか?
私の要件のいくつか:
- 書き込みではなく、読み取りアクセスのみが必要です
- 正確さが最優先ですが、速度も重要です
- 余分なdllなどをインストールすることは問題ではありません
- Delphi 2010 を使用しています
いくつかの質問への回答:
IB コンポーネントに問題がありますか?
いいえ、まだです。私はまだそれをあまりやっていません。
あなたの懸念は何ですか?
私の主な関心事は、私が持っているデータベースの古いバージョンです。私が使用しているコンポーネントは、このような古いデータベースを正しく読み取ることができますか?
古いデータベースからデータを抽出し、それを新しい形式に書き込むだけです。(つまり、レガシー データベースを変換します)。古いデータベースを維持する必要はありません。
データが正しく抽出されることは非常に重要です。
macos - Mac OS X での Interbase ToGo の展開
実験の条件は次のとおりです。
- Interbase ToGo はライセンスされています
- ライセンス フォルダを含む Interbase フォルダは、Delphi XE2 で HD-FMX アプリケーションとして開発された myPgm.app というマルチプラットフォーム アプリケーションと同じフォルダにあります。
myPgm.app を右クリックし、ドロップダウン メニューから [パッケージの内容を表示] を選択すると、次のリストが表示されます。
コンテンツ
Mac OS XI で Interbase ベースのアプリケーションを実行しようとするかなりの実験の後、次の観察結果が得られました。
- Interbase コンポーネントの DatabaseName プロパティに値がない場合、myPgm.app は「データベース名がありません」というメッセージを表示します</li>
- そのプロパティに間違った値または正しい値を入力すると、「製品 INTERBASE はライセンスされていません」というメッセージが表示されます。
サーバーが埋め込まれていない場合、DatabaseName は localhost: またはサーバーの実際のアドレスで始まる必要があるというロジックに従っています。エンバカデロは、開発者が実際の .ib または .gbd ファイルの先頭に「魔法の」言葉を入れることを計画しているのではないかと疑っています。
myPgm.app と同じフォルダーにある myIBDb.ib に myPgm.app を接続する方法を探しています。
Embarcadero がこれらの ToGo ライセンスを販売しており (私は 60 ドルで購入しました)、Mac OS X でのデータベースのパスと名前の指定に関するガイドラインがないのは非常に残念です。逆に、Win システムではまったく問題はありません。