ODBCからmySQLへ
mysql|odbc
/**
* ODBC to mySQL
* Xu Zuning (しつこい)
* czjsz_ah@stats.gov.cn
*
* php+mysql を初めて使用する友人の多くは ASP マスターです。できるだけ早く始めるために
* このプログラムのクローズアップは、ODBC データ ソースを介して元のデータベースを mysql に変換するために使用されます
* 実際、そのようなプログラムは数多くあり、ハイライト領域にも多数あります。
* このプログラムの特徴は、データソースの名前とmysqlライブラリの名前だけがわかればよいことです。プログラムは
* データ ソース内のテーブルに基づいて自動的に動作します。
*
*/
set_time_limit(0);
$dsn = "tjtz"; // データソース名
$dsn_name = "" // データソースのユーザー名
$dsn_pass = ""; // データ ソースのパスワード
$sql = "tjtz"; // mysql ライブラリ名、通常はデータ ソース名を使用できます
$sql_host = "" // mysql サーバー名
$sql_name = ""; // mysql ユーザー名
$sql_pass = "" // mysql パスワード
$odbc = odbc_connect($dsn,$dsn_name,$dsn_pass);
$result = odbc_tables($odbc);
$fields = odbc_num_fields($ result) ;
if(! function_exists("odbc_fetch_array")) {
// odbc_fetch_array 関数が存在するかどうかを確認し、存在しない場合は定義します
// マニュアルにはこの関数があると記載されていますが、4.1 には間違いなくありません。 2
// 注意してください。 odbc_fetch_into によって返される配列には、添え字を使用してのみアクセスできます。
function odbc_fetch_array(&$result) {
$ar = array();
odbc_fetch_into($result,$ar);
return $ar;
}
}
// ライブラリ内のテーブルを取得します
while($ar[] = odbc_fetch_array($result));
//フィルター関数を定義します
function filter($var) {
return ($var[3 ] == "TABLE");
}
// ユーザーテーブルを除外します
$ar = array_filter($ar,"filter");
foreach($ar as $tab) {
$tables[] = $tab [2];
}
// テーブルドキュメントを生成します。存在する場合は実行されません。
if(! file_exists("$sql.sql")) {
// 各テーブルのフィールド情報を抽出します
$ fp = fopen("$sql.sql","w") ;
foreach($tables as $table) {
$result = odbc_do($odbc,"select * from $table");
$str = sprintf( "Table%s("、$ table); :"")
,odbc_field_name($result,$i+1)
,odbc_field_type($result,$i+1)
);
}else if (eregi("COUNTER",odbc_field_type($result,$i+ 1))) {
$s = sprintf("%s%s TINYINT(%s) AUTO_INCREMENT PRIMARY KEY"
, ($i>0?", ":"") ,odbc_field_name($result,$i+1) )
,odbc_field_len($result,$i+1)
);
}else {
$s = sprintf("%s%s %s( %s)"
,($i>0?", ": "")
,odbc_field_name($result,$i+1)
,odbc_field_type($result,$i+1)
,odbc_field_len($result, $i+1)
echo "テーブル ファイル $sql .sqlが生成されました。
";
echo "コマンドが正しいか確認してください。テーブルを再構築する必要がない場合は、次の if(1) を if(0) に変更してください
";
echo "テーブル名は変更しないでください。フィールドを追加したい場合は、最後に追加してください ! ";
echo "確認後にこのプログラムを再実行してください! ";
odbc_close($odbc);
exit;
}
if(1) { //テーブルを再構築する必要はありません。if(1) を if(0) に変更してください
echo "テーブルの作成開始...
";
$mysql = mysql_connect();
mysql_drop_db($sql);
mysql_create_db ($sql);
mysql_select_db($sql);
$fp = fopen("$sql.sql","r");
$buffer = fread($fp,filesize("$sql.sql"));
fclose($fp);
$ar = split( "n",$buffer);
foreach($ar as $query) {
if(trim($query) != "") {
// echo " $query
";
mysql_query($query, $mysql);
}
}
}
// テーブル作成ファイルからテーブル情報を抽出
$info = array();
$s = file(" $sql.sql");
foreach($s as $value) {
if(eregi("create +table +([a-z0-9_-]+) *[(](.+)[)]" ,$value,$regs)) {
$table = $regs[1];
$info[$table] = array();
$ar = split(",",$regs[2]);
foreach ($ar as $v) {
sscanf($v ,"%s %s",$p,$p);
if(eregi("double|count|int",$p)) { // これらの型追加する必要はありません。他には何がありますか?
$info [$table][] ="";
[$table][] sql_pass);
mysql_select_db($sql);
eチョ「< br>DSN から mySQL にデータを転送中...";
foreach($info as $key => $ar) {
$query = "select * from $key"; // ODBC クエリを生成します
$result = odbc_do ($odbc,$query);
$mode = true;
while($rs = odbc_fetch_array($result)) {
$sql_query = " $key 値に挿入 (";
for($i=0; $i
$sql_query = "{$ar[$i]}{$rs[$i ]}{$ar[$i]}";
}
$sql_query .= ")";
mysql_query($sql_query,$mysql);
}
}
odbc_close($odbc);
echo "< br>操作は終了しました";
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLデータベースでは、ユーザーとデータベースの関係は、アクセス許可と表によって定義されます。ユーザーには、データベースにアクセスするためのユーザー名とパスワードがあります。許可は助成金コマンドを通じて付与され、テーブルはCreate Tableコマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。

データ統合の簡素化:AmazonrdsmysqlとRedshiftのゼロETL統合効率的なデータ統合は、データ駆動型組織の中心にあります。従来のETL(抽出、変換、負荷)プロセスは、特にデータベース(AmazonrdsmysQlなど)をデータウェアハウス(Redshiftなど)と統合する場合、複雑で時間がかかります。ただし、AWSは、この状況を完全に変えたゼロETL統合ソリューションを提供し、RDSMYSQLからRedshiftへのデータ移行のための簡略化されたほぼリアルタイムソリューションを提供します。この記事では、RDSMysQl Zero ETLのRedshiftとの統合に飛び込み、それがどのように機能するか、それがデータエンジニアと開発者にもたらす利点を説明します。

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

MySQLのユーザー名とパスワードを入力するには:1。ユーザー名とパスワードを決定します。 2。データベースに接続します。 3.ユーザー名とパスワードを使用して、クエリとコマンドを実行します。

1.正しいインデックスを使用して、データの量を削減してデータ検索をスピードアップしました。テーブルの列を複数回検索する場合は、その列のインデックスを作成します。あなたまたはあなたのアプリが基準に従って複数の列からのデータが必要な場合、複合インデックス2を作成します2。選択した列のみを避けます。必要な列のすべてを選択すると、より多くのサーバーメモリを使用する場合にのみサーバーが遅くなり、たとえばテーブルにはcreated_atやupdated_atやupdated_atなどの列が含まれます。

NAVICAT自体はデータベースパスワードを保存せず、暗号化されたパスワードのみを取得できます。解決策:1。パスワードマネージャーを確認します。 2。NAVICATの「パスワードを記憶する」機能を確認します。 3.データベースパスワードをリセットします。 4.データベース管理者に連絡してください。

次のコマンドでmysqlデータベースを表示します。サーバーに接続します:mysql -u username -pパスワードrun showデータベース。すべての既存のデータベースを取得するコマンド[データベース]を選択します。データベース名を使用します。テーブルを表示:表を表示します。テーブル構造を表示:テーブル名を説明してください。データを表示:[テーブル名]から[ *]を選択します。

データベース酸属性の詳細な説明酸属性は、データベーストランザクションの信頼性と一貫性を確保するための一連のルールです。データベースシステムがトランザクションを処理する方法を定義し、システムのクラッシュ、停電、または複数のユーザーの同時アクセスの場合でも、データの整合性と精度を確保します。酸属性の概要原子性:トランザクションは不可分な単位と見なされます。どの部分も失敗し、トランザクション全体がロールバックされ、データベースは変更を保持しません。たとえば、銀行の譲渡が1つのアカウントから控除されているが別のアカウントに増加しない場合、操作全体が取り消されます。 TRANSACTION; updateaccountssetbalance = balance-100wh
