0

既存の ODBC 接続でクエリを実行し、ResultSet を XML ファイルに変換する小さな C# コンソール アプリケーションを作成しようとしています。これに光を当ててください。

System.Xml.XmlReader を使用して、次のコンテキストでこのタスクを実行することを考えていました。

System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();
conn.ConnectionString = "FIL=MS Access;DSN=valid data source name";
string query = "SELECT * FROM Customers FOR XML AUTO, ELEMENTS";

    try {
         OdbcCommand odbcComm = new OdbcCommand(query);
         conn.Open();
         odbcComm.Connection = conn;

         OdbcDataReader data = odbcComm.ExecuteReader();
                         .
                         .
                         .

    } catch (Exception ex) {
            System.Console.WriteLine( "Failed to connect to the data source" );
    } finally {
            conn.Close();
    }

どう思いますか?

4

2 に答える 2

0

これは、OleDBを使用して実行されますが、実行したいことの例です。OleDB接続コードを無視して(同等のODBCに置き換えて)、スキーマを使用してXMLにフォーマットすることにより、DataSetにMSAccessデータベースからのデータが入力されている部分に焦点を当てることができます。

http://nathanbrixius.wordpress.com/2010/07/21/converting-an-access-db-to-xml-using-c/

于 2012-07-10T06:29:45.780 に答える
0

これが私がWebサービスを使用して行ったことです。仕事からのコピー権のがらくたのため、ここにWebサービスコードを配置するつもりはありません。しかし、このコードは、基本的にメソッドを作成し、ノード部分をそのメソッドからの戻り値/結果にし、そこからxmlnodeReaderを使用し、そこから必要なフィールドがあれば、DataTableと行にあるものを自分のものに置き換えます。フィールド名の値

XmlNode node = svc.GetInfoByZIP("02116");
    DataSet ds = new DataSet();
    using (XmlNodeReader reader = new XmlNodeReader(node))
    {
        ds.ReadXml(reader);
    }

    DataTable table = ds.Tables["Table"];
    DataRow row = table.Rows[0];
    string city = (string) row["CITY"];
    string state = (string) row["STATE"];
    string zip = (string) row["ZIP"];
}
于 2012-07-10T06:03:33.473 に答える