http://go.microsoft.com/fwlink/?LinkId=65110
msserver2000的企业管理器有数据库的导入和导出。。怎么2005的反而没有了呢?疑惑中。。
5 个解决方案
#1
哦,有了,已经看到了!
#2
lz结贴吧。
#3
我用VS2008开发一个软件,里面用SQL2005创建了一个数据库,在发布可执行文件时是把数据库和应用程序一起打包的,把安装包放到其他机器上安装时总是出错(在我的电脑上能正常安装),提示的错误是:
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
或者:
在建立与服务器的连接时出错。在连接到 sql server 2005 时 在默认的设置下 sql server 不允许进行远程连 (provider: TCP提供程序, error: 40 - 由于目标机器积极拒绝,无法连接)。
这个问题我搞了好多天了,也查了很多资料,还是没搞定,请各位大侠高台贵手,帮帮我~
我把VS2008的应用程序和数据库一起打包放到其他机器上去安装的做法是否正确呢?是不是对方的机器也一定要安装SQL2005数据库,还要做相应的配置?
代码如下:
private void ExecuteSql(string conn, string DatabaseName, string Sql)
{
SqlConnection mySqlConnection = new SqlConnection(conn);
SqlCommand Command = new SqlCommand(Sql, mySqlConnection);
mySqlConnection.Open();
mySqlConnection.ChangeDatabase(DatabaseName);
try
{
Command.ExecuteNonQuery();
}
finally
{
//close Connection
mySqlConnection.Close();
}
}
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
// ------------------------建立数据库-------------------------------------------------
try
{
// string connstr = String.Format("data source={0};user id={1};password={2};persist security info=false;packet size=4096;database=ACM618DeviceInfo", Context.Parameters["SERVER"], Context.Parameters["USER"], Context.Parameters["PWD"]);
string connstr = String.Format("server=.;user id=sa;password=111;persist security info=false;packet size=4096;");//database=ACM618DeviceInfo");
//根据输入的数据库名称建立数据库
ExecuteSql(connstr, "master", "create database" + Context.Parameters["dbname"]);
//调用osql执行脚本
Process sqlprocess = new System.Diagnostics.Process();
sqlprocess.StartInfo.FileName = "osql.exe ";
sqlprocess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -d {2} -i {3}ACM618DeviceInfo.sql", Context.Parameters["user"], Context.Parameters["pwd"], Context.Parameters["dbname"], Context.Parameters["targetdir"]);
sqlprocess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
sqlprocess.Start();
sqlprocess.WaitForExit(); // 等待执行
sqlprocess.Close();
//删除脚本文件
FileInfo sqlfileinfo = new FileInfo(String.Format("{0}ACM618DeviceInfo.sql", Context.Parameters["targetdir"]));
if (sqlfileinfo.Exists)
{
sqlfileinfo.Delete();
}
}
catch (Exception ex)
{
throw ex;
}
}
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
或者:
在建立与服务器的连接时出错。在连接到 sql server 2005 时 在默认的设置下 sql server 不允许进行远程连 (provider: TCP提供程序, error: 40 - 由于目标机器积极拒绝,无法连接)。
这个问题我搞了好多天了,也查了很多资料,还是没搞定,请各位大侠高台贵手,帮帮我~
我把VS2008的应用程序和数据库一起打包放到其他机器上去安装的做法是否正确呢?是不是对方的机器也一定要安装SQL2005数据库,还要做相应的配置?
代码如下:
private void ExecuteSql(string conn, string DatabaseName, string Sql)
{
SqlConnection mySqlConnection = new SqlConnection(conn);
SqlCommand Command = new SqlCommand(Sql, mySqlConnection);
mySqlConnection.Open();
mySqlConnection.ChangeDatabase(DatabaseName);
try
{
Command.ExecuteNonQuery();
}
finally
{
//close Connection
mySqlConnection.Close();
}
}
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
// ------------------------建立数据库-------------------------------------------------
try
{
// string connstr = String.Format("data source={0};user id={1};password={2};persist security info=false;packet size=4096;database=ACM618DeviceInfo", Context.Parameters["SERVER"], Context.Parameters["USER"], Context.Parameters["PWD"]);
string connstr = String.Format("server=.;user id=sa;password=111;persist security info=false;packet size=4096;");//database=ACM618DeviceInfo");
//根据输入的数据库名称建立数据库
ExecuteSql(connstr, "master", "create database" + Context.Parameters["dbname"]);
//调用osql执行脚本
Process sqlprocess = new System.Diagnostics.Process();
sqlprocess.StartInfo.FileName = "osql.exe ";
sqlprocess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -d {2} -i {3}ACM618DeviceInfo.sql", Context.Parameters["user"], Context.Parameters["pwd"], Context.Parameters["dbname"], Context.Parameters["targetdir"]);
sqlprocess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
sqlprocess.Start();
sqlprocess.WaitForExit(); // 等待执行
sqlprocess.Close();
//删除脚本文件
FileInfo sqlfileinfo = new FileInfo(String.Format("{0}ACM618DeviceInfo.sql", Context.Parameters["targetdir"]));
if (sqlfileinfo.Exists)
{
sqlfileinfo.Delete();
}
}
catch (Exception ex)
{
throw ex;
}
}
#4
骗人,我怎么没有看到呢
#5
SQL 2005 Management Studio Express SSMSE 是精简版,只有导入的功能,没有导出的功能,完整版本的有导入和导出功能,精简版的呢可以在数据库安装目录下的data文件夹里找到
#1
哦,有了,已经看到了!
#2
lz结贴吧。
#3
我用VS2008开发一个软件,里面用SQL2005创建了一个数据库,在发布可执行文件时是把数据库和应用程序一起打包的,把安装包放到其他机器上安装时总是出错(在我的电脑上能正常安装),提示的错误是:
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
或者:
在建立与服务器的连接时出错。在连接到 sql server 2005 时 在默认的设置下 sql server 不允许进行远程连 (provider: TCP提供程序, error: 40 - 由于目标机器积极拒绝,无法连接)。
这个问题我搞了好多天了,也查了很多资料,还是没搞定,请各位大侠高台贵手,帮帮我~
我把VS2008的应用程序和数据库一起打包放到其他机器上去安装的做法是否正确呢?是不是对方的机器也一定要安装SQL2005数据库,还要做相应的配置?
代码如下:
private void ExecuteSql(string conn, string DatabaseName, string Sql)
{
SqlConnection mySqlConnection = new SqlConnection(conn);
SqlCommand Command = new SqlCommand(Sql, mySqlConnection);
mySqlConnection.Open();
mySqlConnection.ChangeDatabase(DatabaseName);
try
{
Command.ExecuteNonQuery();
}
finally
{
//close Connection
mySqlConnection.Close();
}
}
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
// ------------------------建立数据库-------------------------------------------------
try
{
// string connstr = String.Format("data source={0};user id={1};password={2};persist security info=false;packet size=4096;database=ACM618DeviceInfo", Context.Parameters["SERVER"], Context.Parameters["USER"], Context.Parameters["PWD"]);
string connstr = String.Format("server=.;user id=sa;password=111;persist security info=false;packet size=4096;");//database=ACM618DeviceInfo");
//根据输入的数据库名称建立数据库
ExecuteSql(connstr, "master", "create database" + Context.Parameters["dbname"]);
//调用osql执行脚本
Process sqlprocess = new System.Diagnostics.Process();
sqlprocess.StartInfo.FileName = "osql.exe ";
sqlprocess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -d {2} -i {3}ACM618DeviceInfo.sql", Context.Parameters["user"], Context.Parameters["pwd"], Context.Parameters["dbname"], Context.Parameters["targetdir"]);
sqlprocess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
sqlprocess.Start();
sqlprocess.WaitForExit(); // 等待执行
sqlprocess.Close();
//删除脚本文件
FileInfo sqlfileinfo = new FileInfo(String.Format("{0}ACM618DeviceInfo.sql", Context.Parameters["targetdir"]));
if (sqlfileinfo.Exists)
{
sqlfileinfo.Delete();
}
}
catch (Exception ex)
{
throw ex;
}
}
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
或者:
在建立与服务器的连接时出错。在连接到 sql server 2005 时 在默认的设置下 sql server 不允许进行远程连 (provider: TCP提供程序, error: 40 - 由于目标机器积极拒绝,无法连接)。
这个问题我搞了好多天了,也查了很多资料,还是没搞定,请各位大侠高台贵手,帮帮我~
我把VS2008的应用程序和数据库一起打包放到其他机器上去安装的做法是否正确呢?是不是对方的机器也一定要安装SQL2005数据库,还要做相应的配置?
代码如下:
private void ExecuteSql(string conn, string DatabaseName, string Sql)
{
SqlConnection mySqlConnection = new SqlConnection(conn);
SqlCommand Command = new SqlCommand(Sql, mySqlConnection);
mySqlConnection.Open();
mySqlConnection.ChangeDatabase(DatabaseName);
try
{
Command.ExecuteNonQuery();
}
finally
{
//close Connection
mySqlConnection.Close();
}
}
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
// ------------------------建立数据库-------------------------------------------------
try
{
// string connstr = String.Format("data source={0};user id={1};password={2};persist security info=false;packet size=4096;database=ACM618DeviceInfo", Context.Parameters["SERVER"], Context.Parameters["USER"], Context.Parameters["PWD"]);
string connstr = String.Format("server=.;user id=sa;password=111;persist security info=false;packet size=4096;");//database=ACM618DeviceInfo");
//根据输入的数据库名称建立数据库
ExecuteSql(connstr, "master", "create database" + Context.Parameters["dbname"]);
//调用osql执行脚本
Process sqlprocess = new System.Diagnostics.Process();
sqlprocess.StartInfo.FileName = "osql.exe ";
sqlprocess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -d {2} -i {3}ACM618DeviceInfo.sql", Context.Parameters["user"], Context.Parameters["pwd"], Context.Parameters["dbname"], Context.Parameters["targetdir"]);
sqlprocess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
sqlprocess.Start();
sqlprocess.WaitForExit(); // 等待执行
sqlprocess.Close();
//删除脚本文件
FileInfo sqlfileinfo = new FileInfo(String.Format("{0}ACM618DeviceInfo.sql", Context.Parameters["targetdir"]));
if (sqlfileinfo.Exists)
{
sqlfileinfo.Delete();
}
}
catch (Exception ex)
{
throw ex;
}
}
#4
骗人,我怎么没有看到呢
#5
SQL 2005 Management Studio Express SSMSE 是精简版,只有导入的功能,没有导出的功能,完整版本的有导入和导出功能,精简版的呢可以在数据库安装目录下的data文件夹里找到