http://www.microsoft.com/china/technet/itsolutions/net/deploy/netdgv2.mspx#XSLTsection131121120120类似于这样吧..哎,我也在问这个问题

解决方案 »

  1.   

    利用 组建
    sqldmo.dll 编程便可以处理了
      

  2.   

    linlinunix:
    具体怎么用呢?
    只晓得sqldmo.dll备份恢复数据库,还不知怎么改连接字符串
    这方面的部署好多都是vb的,郁闷~~
      

  3.   

    install类,自己写一个类,在安装的时候调用,就可以解决这个问题了
      

  4.   

    这是我没写完的一个数据库操作类,数据连接等参数从配置文件读去的,你可以参考一下:
    using System;
    using System.Data;
    using System.Data.OracleClient;
    using System.Text;
    using System.Runtime.InteropServices;
    using System.IO;
    using System.Windows.Forms;
    namespace DBAccess
    {
    /// <summary>
    /// DBAccess 的摘要说明。
    /// </summary>
    public class ClassDBAccess
    {
    /// 配置文件路径(Dbinipath)
    /// 存储数据库服务名(DbServicename)
    /// 数据库用户(DbUserId)、数据库用户密码(DbUserPwd)、数据库连接(DbConn)
    /// 登录用户的帐号、姓名
    public static string DbPubinipath = "..\\ini\\pub.ini"; 
    public static string DbModuleinipath = ""; 
    public static string LoginUserID="";
    public static string LoginUserName="";
    public static StringBuilder DbServicename =new StringBuilder(255);
    public static StringBuilder DbUserId =new StringBuilder(255);
    public static StringBuilder DbUserPwd =new StringBuilder(255);
    public static OracleConnection DbConn = new OracleConnection();
    //导入读写Ini文件的函数
    [ DllImport ( "kernel32" ) ]
    private static extern long WritePrivateProfileString ( string section ,string key , string val , string filePath );
    [ DllImport ( "kernel32" ) ]
    private static extern int GetPrivateProfileString ( string section ,string key , string def , StringBuilder retVal ,int size , string filePath ); static void Init(){
    //读配置文件得到服务器名称,数据库等信息,打开数据库
    GetPrivateProfileString("database","servicename","",DbServicename,255,DbPubinipath);
    GetPrivateProfileString("database","userid","",DbUserId,255,DbPubinipath);
    GetPrivateProfileString("database","userpwd","",DbUserPwd,255,DbPubinipath);
    DbConn.ConnectionString="user id="+DbUserId+";data source="+DbServicename+";password="+DbUserPwd;
    }
    //连接数据库
    static public bool ConnectDB(){

    try
    {
    if(DbConn.State != ConnectionState.Open){
    Init();
    DbConn.Open();
    }
    return true;
    }
    catch(OracleException){
    return false;
    }
    }
    //关闭数据库
    static public bool DisconnectDB()
    {
    try
    {
    if(DbConn.State==ConnectionState.Open){
    DbConn.Dispose();
    DbConn.Close();
    DbConn=null;
    }
    return true;
    }
    catch(OracleException)
    {
    return false;
    }
    }
    //返回记录集
    static public DataSet GetData(string query,string table)
    {
    if(!DBAccess.ClassDBAccess.ConnectDB())
    {
    MessageBox.Show("连接数据库失败!","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Stop);
    return null;
    }
    OracleDataAdapter da = new OracleDataAdapter();
    da.SelectCommand=new OracleCommand(query,DBAccess.ClassDBAccess.DbConn);
    DataSet ds = new DataSet();
    da.Fill(ds,table);
    return ds;
    }
    public ClassDBAccess()
    {
    }
    }
    }