数据库的字符串信息中datasource信息是本机上的,要安装在其他机器上怎么办??急~~ http://www.microsoft.com/china/technet/itsolutions/net/deploy/netdgv2.mspx#XSLTsection131121120120类似于这样吧..哎,我也在问这个问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 利用 组建sqldmo.dll 编程便可以处理了 linlinunix:具体怎么用呢?只晓得sqldmo.dll备份恢复数据库,还不知怎么改连接字符串这方面的部署好多都是vb的,郁闷~~ install类,自己写一个类,在安装的时候调用,就可以解决这个问题了 这是我没写完的一个数据库操作类,数据连接等参数从配置文件读去的,你可以参考一下: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() { } }} 求大神--WinForm开发模仿微信的气泡聊天 写了一个简单程序,对继承时派生类数据成员如何在内存分配有些糊涂了 window服务调用应用程序,如何才能显示应用程序的界面呢? crc校验 AspNetPager 问题 VS2005 中是否有MSComm 控件?我怎么找不到? c/s模式下怎么来限制登录次数或只能使用一段时间??? 在线等待 Email发送问题??? 正则表达式问题 C#一个客户端连接多个服务器?开多线程? 一个关于焦点的简单问题 求超难sql语句一条
sqldmo.dll 编程便可以处理了
具体怎么用呢?
只晓得sqldmo.dll备份恢复数据库,还不知怎么改连接字符串
这方面的部署好多都是vb的,郁闷~~
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()
{
}
}
}