現代のプログラミング言語はいずれも、メソッドとしてmysqldumpをサポートしていますか、それともコマンドライン環境のドメインです。mysqlダンプをコマンドラインから外す
答えて
.NET、デルファイ、および一般的なODBC/DAOのために(データベースドライバ)が利用可能なAPIと同様に、C/C++や他の言語用のライブラリがあります。これは決して主流言語自体に直接書き込まれることはありません。言語が一般目的であることを制限し、したがってそれをあまり有用でないものにする。
たとえば、DelphiにはDBExpressというデータベースフレームワークがあります。 MS SQL Server、Oracle、MySQL、DB2などのために用意されているDBExpressドライバがあります。使用可能なドライバは、購入することを決めたバージョン(Professional、Enterprise、Architect)によって異なります。 MySQLはすべてのバージョンで利用可能です。 dbExpressのフレームワークを使用し
誰かがためdbExpressドライバを提供することを決定する任意のデータベースエンジンとDelphiは使用可能になり、そしてドライバは、Delphi自体に書き込むことができます。それはDelphiをより一般的な目的に保ちます。 1つのRDBMSだけで動作するようにハードコードされているわけではありません。
EDIT:他の人が(私はジャレットを考えて)言ったように、mysqldumpをするためにソースが利用可能です。選択した言語に対応したラッパーを使用すると、そのソースに基づいて同じ機能を実装できるはずです。あなたの本能が正しい
私は彼の質問が一般的なデータベースバインディングについてはわかりませんが、より具体的にはmysqldumpについてです。 –
ええ、他の回答からはそういうことです。しかし、私の答えはまだ適用されます。私の編集を参照してください。
...それは、mysqldumpをへのAPIアクセスを提供するために、プログラミング言語ライブラリのためにかなり厳しいだろう。 mysqldumpのソースはC言語で書かれており、独自のmain()
関数を持っています。独自のプログラムとして動作するように設計されています。これは実行可能ファイルとして構築され、多くのエラー報告と出力はstdoutへの直接的なprint文を使用して処理され、言語固有の値にラップされる戻り値は使用されません。
特定のプログラミング言語のほとんどのバインディング(PHP、Python、Delphi、.NETなど)をコンパイルすると、libmysql
とリンクし、libmysqlにはmysqldumpプログラムへの参照が含まれません。私は、誰もラッパーを書いていないことを確実に言うことはできませんが、実際には非常に奇妙なラッパーになるでしょう。言い換えれば
、あなたの最善の策は、mysqldumpをツールを呼び出すためにお好みのプログラミング言語からサブプロセスを使用し、標準入力からか、一時ファイルのいずれかからの結果を吸収することです。
PHPを使用していてGPLライセンスを気にしない場合は、phpMyAdminにはMySQLダンプ用のコード(CSVなどの他のフォーマットと同様)が含まれています。
libraries/export/sql.php
phpMyAdminがmysqldumpをまったく呼び出すのがコードでわかりません。 mysqldumpの出力を模倣しているようですが、直接使用するのではなく、大規模なデータベースやmysqldumpの複雑なデータ型や文字セットには問題があります。 –
ええ、ポイントは、それはまったくmysqldumpツールを呼び出さないということです。 MySQLのダンプ用に独自のコードを実装しています。どのデータ型やチャットセットに問題があり、phpmyadminプロジェクトにバグとして報告されていますか? – thomasrutter
あなたの質問はかなり曖昧です:
は、ファイルをチェックしてください。あなたが達成したいことと、あなたがすでに試したことを説明してください。言われていること
あなたはmysqldumpをがないような方法でMySQLデータベースのDBのダンプを生成したい場合は、私が直接それを可能にしていないAPIを知っています。しかし、DBをダンプ/バックアップするには他にもたくさんの方法がありますが、mysqldump形式には問題があります(1つの点ではあまり定義されていないため、解析が容易ではありません)。だから、あなたは別のアプローチを検討するかもしれません。
- 1. リモートデータベースからローカルホストへのmysqlダンプ
- 2. コマンドラインからMySQLを実行する
- 3. MySQL:コマンドラインからパラメータを渡すには?
- 4. MySQLのダンプは
- 5. ファイルからMySQLを復元する(ダンプなし)
- 6. リモートマシンからMySQLダンプを使用する方法
- 7. ローカルからAcquiaクラウドへMySQLデータベースのダンプをアップロードするには?
- 8. Rackspaceクラウドからmysqlダンプをダウンロードするには
- 9. 端末のMacBookからmysql dbをダンプする方法
- 10. PHPからMySQLコンテンツ全体をダンプする方法は?
- 11. MySQLバックアップとコマンドラインからの復元
- 12. mysqlコミュニティサーバからダンプを取ってmysql enterprise editionで復元するには?
- 13. 大きな外部MySQL XMLダンプを自分のデータベースにインポートしますか?
- 14. herokuにmysqlダンプをアップロード
- 15. Windows 10のmysql workbenchにmysqlダンプをインポート
- 16. PostgreSQLのダンプをMySQLのダンプに変換する
- 17. ダンプからmysqlデータベースをロードするのに時間がかかります
- 18. MySQLシェルからのアクセスなしでリモートからtar.gzにダンプします
- 19. linuxコマンドラインからmysqlユーザーを作成していますか?
- 20. mySQLのダンプの矛盾
- 21. MySQLダンプ復元デルタのみ
- 22. MysqlダンプRDSトラフEc2インスタンス
- 23. XMLデータをMySQLにダンプする
- 24. MySQLダンプをPostgreSQLにインポートする
- 25. バイナリブロブでMySQLダンプを復元する
- 26. PHPでMySQLダンプを復元する
- 27. 高度なインストーラでコマンドラインからmysqlデータベースをインポートする方法
- 28. コマンドライン/ターミナルからMySQL Workbenchクエリプランイメージを作成する
- 29. スクリプトからコマンドラインでMySQLクエリを実行する
- 30. 外部アプリケーションからOpenShift MySQL
これはMySQLの質問です。 Delphi、VB.NET、C#、その他のものではありません。言語固有のものとしてタグを付けると、その言語に関連するはずです。 –