我在这里遇到了一个非常奇怪的问题。我们使用 Pentaho Kettle 来管理我们的数据库架构(它反过来使用 MySQL JDBC mysql-connector-java-5.1.17.jar)。当尝试创建包含另一个视图(在本例中为接口)的视图时,我们得到:
2012/06/26 11:46:55 - SQL2 - ERROR : Couldn't execute SQL: CREATE OR REPLACE VIEW `test_delete2` as select * from interfaces
2012/06/26 11:46:55 - SQL2 - ERROR : ANY command denied to user 'ncim'@'xxx.xxx.xxx..xx' for table '/var/mysql/mysql2018/tmp/#sql_4e67_0'
Run Code Online (Sandbox Code Playgroud)
但是,使用相同的语句和用户,但通过 mysql 命令行客户端,可以按预期工作。此外,使用 JDBC 在普通表上创建视图也有效。
这是服务器端的 Solaris 10 上的 MariaDB 5.2.10,但我们也遇到了与 Oracle MySQL 相同的问题。
任何可能导致这种情况的好主意?
PS:我知道在视图上创建视图并不是最好的主意,但目前假设在这种情况下无法避免。
我正在尝试在特定的手风琴节开始时执行动作.我的用例几乎与这个问题相同,只是我使用的是静态定义的而不是ng-each.
不知何故,当打开状态发生变化时,我无法触发$ watch,任何人都可以告诉我为什么这不起作用:
视图:
<accordion close-others="false">
<accordion-group heading="group1" is-open="acc1open">
content 1
</accordion-group>
<accordion-group heading="group2" is-open="acc2open">
content 2
</accordion-group>
</accordion>
Run Code Online (Sandbox Code Playgroud)
控制器:
$scope.acc1open = false;
$scope.acc2open = true;
$scope.$watch('acc1open', function(){
console.log("watch acc1:" +$scope.acc1open);
}, true);
Run Code Online (Sandbox Code Playgroud)
这是一个吸烟者:
http://plnkr.co/edit/Ycms81?p=preview
它在页面加载时一次打印"watch acc1:false",但在打开手风琴组时则不打印.
我正在尝试在遗留数据库之上构建grails(2.1.0)应用程序.它有很多桌子,我非常喜欢只使用动态脚手架.问题是某些表有一个字符串作为主键,但src/templates/scaffolding/Controller.groovy中的模板代码例如show是
def show(Long id) {
def ${propertyName} = ${className}.get(id)
if (!${propertyName}) {
flash.message = message(code: 'default.not.found.message', args: [message(code: '${domainClass.propertyName}.label', default: '${className}'), id])
redirect(action: "list")
return
}
[${propertyName}: ${propertyName}]
}
Run Code Online (Sandbox Code Playgroud)
对于字符串键,这似乎将字符串转换为null,并且get因错误而失败$Domain not found with id null.
如果我运行生成控制器并将签名更改为def show(String id),它将按预期工作.
那么,有没有办法在"动态脚手架时间"检查域类并相应地编写方法?
我正在尝试构建我的第一个角度应用程序,我可能需要一些帮助.
我正在使用标准的$ resource操作访问REST服务:
angular.module('wtrack', ['ngResource']).
factory('WtrackAPI', function($resource) {
var WtrackAPI = $resource('http://hostname/wtrack/api/w/:id');
return WtrackAPI;
});
Run Code Online (Sandbox Code Playgroud)
这是我的控制器:
function ListCtrl($scope, $timeout, WtrackAPI){
$scope.wdata = WtrackAPI.query(); // a list of objects displayed in my view
$scope.addEntry = function() { // adding an object to the list
console.log("Adding Entry");
var entry = {day: $scope.wdata.day, value: $scope.wdata.value};
WtrackAPI.save(entry,
function(){console.log("WTF do I need to do here to rerun WtrackAPI.query()");});
};
}
Run Code Online (Sandbox Code Playgroud)
我想要做的基本上是$scope.wdata = WtrackAPI.query();在save()完成后再次执行更新我的模型.我怀疑角度方式只是$scope.wdata.push(entry),但在这种情况下,数据库将一些数据添加到带有触发器的条目并进行一些复杂的排序,所以我真的想要使用查询来往返并重新加载整个列表.我怎样才能做到这一点?只是调用$scope.wdata = WtrackAPI.query();save回调不起作用,因为$ scope显然不存在.我用$ emit和$ rootScope等尝试了一些其他的东西,但所有这些让我真的很困惑.所以,请问,任何人都可以给我一个暗示,正确的方法是什么?