默认情况下,使用dbo所有者/模式设置对象(表,存储过程等)(我认为ms sql 2000将其称为所有者,而ms sql 2005将其称为模式)
所有者/架构实际上是数据库中的角色或用户.我总是保留默认的dbo,但我最近在微软培训书中看到了一些例子,其中一些表和存储过程有不同的所有者/模式.这样做有什么好处?为什么?
更新
得到它了!看我的解决方案(第五条评论)
这是我的问题:
我创建了一个名为"jail"的小二进制文件,在/ etc/password中我将它作为测试用户的默认shell.
这是 - 简化 - 源代码:
#define HOME "/home/user"
#define SHELL "/bin/bash"
...
if(chdir(HOME) || chroot(HOME)) return -1;
...
char *shellargv[] = { SHELL, "-login", "-rcfile", "/bin/myscript", 0 };
execvp(SHELL, shellargv);
Run Code Online (Sandbox Code Playgroud)
好吧,无论我怎么努力,似乎当我的测试用户登录时,/ bin/myscript将永远不会被采购.同样,如果我将.bashrc文件放在用户的主目录中,它也会被忽略.
为什么要抨击这些家伙呢?
-
一些精确,但不一定相关,但要澄清评论中提出的一些观点:
我有一个带out参数的方法,尝试进行类型转换.基本上:
public void GetParameterValue(out object destination)
{
object paramVal = "I want to return this. could be any type, not just string.";
destination = null; // default out param to null
destination = Convert.ChangeType(paramVal, destination.GetType());
}
Run Code Online (Sandbox Code Playgroud)
问题是,通常会有人称之为:
string output;
GetParameterValue(output);
Run Code Online (Sandbox Code Playgroud)
这将失败,因为:
destination.GetType()
Run Code Online (Sandbox Code Playgroud)
destination为null,因此我们无法调用.GetType()它.我们也不能打电话:
typeof(destination)
Run Code Online (Sandbox Code Playgroud)
因为destination是变量名而不是类型名.
那么有没有办法获得设置为null的对象的类型?我认为必须有一种方法可以知道什么类型的存储位置没有分配任何东西.
只是为了提供更多信息,我试图创建一个实用程序方法来获取Oracle存储过程的输出参数.问题是DbParameter.Value对象类型.
对于开发人员来说,最理想的是:
string val = GetParameterValue("parameterName");
Run Code Online (Sandbox Code Playgroud)
值得注意的是,没有类型的铸造.在实践中,你不知道"等于"的lparam,所以我选择了:
string val;
GetParameterValue("parameterName", out val);
Run Code Online (Sandbox Code Playgroud)
在方法中,我会知道输出变量的目标类型.我猜这是一个不好的假设.作为替代方案,我也写了这个方法:
public T GetParameterValue<T>(string paramName)
Run Code Online (Sandbox Code Playgroud)
所以开发人员可以这样做:
string val = GetParameterValue<string>("parameterName");
Run Code Online (Sandbox Code Playgroud)
我发现显式的"字符串"声明是重复的,特别是因为在实践中,目标可能是对象属性和oracle数据类型可能会改变(想想ORM):
MyObj.SomeProp = GetParameterValue<MyObj.SomeProp.GetType()>("parameterName");
Run Code Online (Sandbox Code Playgroud)
但同样,如果MyObj.SomeProp为null,则该.GetType()调用失败.VM必须知道它的类型MyObj.SomeProp …
我的一些MS SQL存储过程使用'print'命令生成消息.在我的Delphi 2007应用程序中,它使用TADOConnection连接到MS SQL,如何查看这些'print'命令的输出?
关键要求:1)我不能多次运行查询; 它可能正在更新事物.2)即使返回数据集,我也需要查看"打印"结果.
我正在寻找我能找到的最简单的免费SVN实现.
我下载并安装了VisualSVN Server - 非常简单.安装TortioseSVN - 非常简单 - 两者一起工作.安装AnkhSVN,我无法连接到VisualSVN服务器上的存储库.
为了让AnkhSVN与VisualSVN服务器通信,我需要做些什么特别的事情吗?
我需要在页面/用户控件上为其他开发人员留下一些教学评论.除了以下之外,还有更好的方法吗?
<% /* DO NOT rename control IDs here, because blah blah blah... */ %>
Run Code Online (Sandbox Code Playgroud) 我知道PHP没有本机枚举.但我已经从Java世界习惯了它们.我希望使用枚举作为一种方式来提供IDE的自动完成功能可以理解的预定义值.
常量可以解决问题,但是存在名称空间冲突问题,并且(或实际上因为)它们是全局的.数组没有命名空间问题,但是它们太模糊了,它们可以在运行时覆盖,IDE很少(从不?)知道如何自动填充其键.
您是否经常使用任何解决方案/解决方法?有谁回忆一下PHP家伙是否对枚举有任何想法或决定?
我的应用程序链接libsamplerate.a.我这样做是为了让分发最终二进制文件更容易.
我担心.a文件中的代码可能依赖于我还需要分发的其他一些库.
但如果不这样做,我担心通过包含多个例如我的应用程序而过多地膨胀我的应用程序.libc中.
libsamplerate.a里面究竟是什么?只是libsamperate的字节码?或者更多?
我把什么放在我的订单中?我想按名字订购.我在明确之后移动了orderby因为我读到它需要最后完成.
var result = (from r in db.RecordDocs
where r.RecordID == recordID
select new
{
DocTypeID = r.Document.DocType.DocTypeID,
Name = r.Document.DocType.Name,
Number = r.Document.DocType.Number
}
).Distinct().OrderBy( );
Run Code Online (Sandbox Code Playgroud) 我有一个有7个内连接的查询(因为很多信息都分布在其他表中),一些同事已经感到惊讶.我想知道他们是否应该感到惊讶,还是有7个内连接正常?