我有以下问题,我需要知道是否有办法解决它.
我有一个足够便宜的客户拒绝在运行他的公司的主系统上购买他的postgreSQL数据库的备份计划,并且我认为有一天会发生一些操作系统文件在停电期间崩溃并且操作系统需要重新安装.
此客户端没有任何数据库备份,但我设法保存PostgreSQL主目录.我读到数据库以某种方式存储在postgres主文件夹的数据目录中.
我的问题是:有没有办法从数据文件夹中恢复数据库?我正在使用PostgreSQL 8.2在Windows环境(XP Service Pack 2)中工作,我需要在新服务器中重新安装PostgreSQL.我需要在新环境中重新创建数据库,并以某种方式将旧文件附加到新数据库实例.我知道在SQL Server中这是可能的,因为引擎存储数据库的方式,但我对postgres没有任何线索.
有任何想法吗?他们将非常感激.
我正在使用MVC3,.NET framework 4.0和Entity Framework开发一个ASP.NET网站.当我运行应用程序并执行一个简单的选择SQL Server 2005数据库时,我收到以下错误:
"抛出了System.Data.SqlClient.SqlException:"超时已过期.操作完成之前经过的超时时间或服务器没有响应."
这就是事情.我尝试登录并从管理工作室执行相同的查询,它工作.我使用.NET framework 4.0和实体框架开发了一个小型控制台应用程序,执行完全相同的查询,并返回了我需要的信息.我甚至从使用Entity框架切换到ADO.NET类(SqlConnection和SqlCommand),并且当从SqlCommand实例执行select时,我得到完全相同的错误.
当我使用实体框架创建模型时,我能够从向导连接到数据库,它工作正常.我创建的所有类都没有任何问题.
请不要告诉我解决方案是增加任何超时,因为查询非常小(20条记录顶部),正如我之前说的,当它从控制台应用程序使用相同的技术甚至相同的代码运行时工作正常下面.
这是给我问题的代码:
MLIBEntities dbMLIB = new MLIBEntities();
var searchResults = (from s in dbMLIB.Sets
where s.setmap1.StartsWith(accountNumber)
select s);
return searchResults.ToList();
Run Code Online (Sandbox Code Playgroud)
运行searchResults.ToList()时抛出异常;
这是实体类使用的连接字符串.我确定它使用了连接字符串,因为我修改了语法错误并且检测到它们.
<connectionStrings>
<add name="MLIBEntities" connectionString="metadata=res://*/Models.MlibDBModel.csdl|res://*/Models.MlibDBModel.ssdl|res://*/Models.MlibDBModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=HERPADERP;Initial Catalog=MLIB;Integrated Security=True;MultipleActiveResultSets=True;Connect Timeout=200"" providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我猜这肯定是MVC Web应用程序中某处的配置问题,或者我只是遗漏了Web.config文件中的内容.有没有人有这个问题?我知道这真的很奇怪.
谢谢您的帮助.我真的没有想法.
最后一件事.我运行了SQL分析器,似乎查询永远不会进入数据库服务器.任何想法为什么会发生这种情况?
我正在使用ASPX引擎的MVC 3应用程序,作为一个开始,我开发了一个简单的搜索,利用JQuery JSON调用来检索一些信息.该调用发送从文本输入中获取的参数,并使用结果更新表.功能看起来像这样:
function PerformLookup() {
var _accountNumber = $('#accountNumber').val();
$.ajax({
url: '/SearchAjax/SearchAccount',
type: 'POST',
data: '{_accountNumber:'+_accountNumber+'}',
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
UpdateTable(data);
},
error: function () {
alert('An error occurred while performing the search.');
}
});
return false;
}
Run Code Online (Sandbox Code Playgroud)
服务器代码使用该参数运行查询,并返回一个序列化为JSON的列表,以便与JQuery一起正常工作.服务器代码如下所示:
[HttpPost]
public JsonResult SearchAccount(string _accountNumber)
{
MLIBEntities dbMLIB = new MLIBEntities();
var searchResults = (from s in dbMLIB.Sets
where s.setmap1 == _accountNumber
select s);
return Json(searchResults.ToList());
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的那样,当我从VS2010运行项目并使用其虚拟机时,它非常有效.
当我在带有IIS 7的Windows 2008服务器中发布项目时,会出现问题.项目正常运行但是当我运行PerformLookup函数时,我收到消息"执行搜索时出错"意味着ajax调用失败.
有没有人知道为什么在VS2010虚拟机中完美运行时,IIS中的呼叫失败?我明智地错过任何配置IIS吗?
提前致谢!
如果您在Galleria的实例中使用了全屏模式,您已经看到关闭它的唯一方法是按下转义键.
因为我喜欢这个功能,因为它非常实用,对于最终用户而言,它并不那么直观,所以我想在右上方添加一个关闭按钮.
我检查了代码以找出添加该按钮的位置,但我无法理解它以使其工作.
有人已经做到了吗?我希望我不是唯一有这个想法的人.
谢谢您的帮助!