日期:2014-05-18  浏览次数:20856 次

C#的winform能否利用SQL SERVER 2000实现上传下载PDF的功能?
哪位大哥能指点一下如何实现用C#向有SQL 2000的服务器的电脑上上传和下载文件(主要是PDF格式的)
向该服务器的SQL存取数据的同时,需要上传下载相应的PDF,能不能利用服务器的IP写相应的路径保存到该服务器的固定目录下

还有,在这个WINFORM中做了一个备份数据库的功能,用SQL的备份语句写的,可以远程使用这个软件,登陆后正常备份数据库到该服务器的C:\\infManager\\目录下,代码中前面的2个IF测试C:\\infManager\\目录是否存在和测试今天是否备份过,而实际运行时,是测试的运行该软件的机器,而不是服务器,如何根据服务器的IP写能测试服务器是否存在该文件的路径,谢谢!

附上备份数据库的代码,因为只有把这个路径写好,才能实现还原数据库的路径

string address = "C:\\infManager\\";
  if (Directory.Exists(address) == false)
  {
  Directory.CreateDirectory(address);
  }
  address += DateTime.Now.ToShortDateString() + ".bak";
  if (File.Exists(address) == true)
  {
  if (MessageBox.Show("今天您已经备份过数据库了!\n您是否要再次备份,替换掉已备份文件?\n保存地址为" + address, "警告", MessageBoxButtons.OKCancel) == DialogResult.OK)
  {
  File.Delete(address);
  string STRCOM = "BACKUP DATABASE infManager TO DISK = '" + address + "'";
  SqlConnection con = new SqlConnection(STRCON);
  con.Open();
  SqlCommand com = new SqlCommand(STRCOM, con);
  com.ExecuteNonQuery();
  con.Close();
  MessageBox.Show("数据备份成功!");
  return true;
  }
  else
  {
   
  return false;
  }
 
  }
  else if (MessageBox.Show("您确定要备份数据库吗?\n保存地址为" + address, "警告", MessageBoxButtons.OKCancel) == DialogResult.OK)
  {
  string STRCOM = "BACKUP DATABASE infManager TO DISK = '" + address + "'";
  SqlConnection con = new SqlConnection(STRCON);
  con.Open();
  SqlCommand com = new SqlCommand(STRCOM, con);
  com.ExecuteNonQuery();
  con.Close();
  MessageBox.Show("数据库备份成功!");
  return true;

  }

------解决方案--------------------
你可以通过FTP上传和下载文件,直接创建可能会涉及到一些权限问题,可能没有权限。
------解决方案--------------------
在你的服务器上 建个WebSerice来实现上传下载不久行了
WinForm来调用
------解决方案--------------------
通过SQL语句可以判断出是否已经存在:
xp_cmdshell 'dir c:\infManager'

这个可以返回dir c:\infManager命令的结果

至于上传下载,可以使用二进制字段,随便搜索一下C#上传文件到SQLServer的代码很多


------解决方案--------------------
权限问题会影响直接通过路径访问,还是通过iis在服务器上创建个ftp服务器,然后在客户端做一个ftp的客户端(Form和webservice均可),连接服务器ftp上传即可。
有很多ftp的例子,楼主搜一下。