これが私がC#でそれをした方法です。2つのテキストボックスを含むフォームを作成しました。DSNTextBoxはODBCDSNの名前を取り、OutputFileTextは、生成されたSQLファイルを配置するディレクトリを取ります。このディレクトリには、検出された各テーブルのビューを作成するコマンドが含まれています。
SQLファイルを実行した後、自分のデータベースの一部であるかのように、ビューを介してテーブルにアクセスできます。このようにして、テーブルが何と呼ばれるかを事前に知る必要がなく、クエリを作成するときにテーブル名を参照できます。
OdbcConnection con = new OdbcConnection();
con.ConnectionString = "DSN=" + DSNTextBox.Text;
con.Open();
DataTable schema = con.GetSchema("tables");
foreach (DataRow r in schema.Rows)
{
var name = r["TABLE_NAME"];
sqlLines.Add("create view " + name + " as select * from " + DSNTextBox.Text + "..root." + name);
sqlLines.Add("go");
}
con.Close();
if(OutputFileTextBox.Text.Substring(OutputFileTextBox.Text.Length - 1, 1) != "\\")
OutputFileTextBox.Text += "\\";
File.WriteAllLines(OutputFileTextBox.Text + DSNTextBox.Text + ".sql" , sqlLines.ToArray());