由于缺少对*=(LEFT OUTER JOIN)运算符的支持,我们遇到了SQL Server 2012的问题.
任何人都可以告诉我SQL Server 2012的正确语法是什么,以下SQL在SQL Server 2008上正常工作?
SELECT
t7410.name, t7408.type, t7410.length,
t7410.status, t7410.prec, t7410.scale,
t7409.type
FROM
dbo.syscolumns t7410, dbo.systypes t7408,
dbo.sysobjects t7409, dbo.sysusers t7411,
master.dbo.syslogins t7412
WHERE
t7410.id = t7409.id
AND t7411.uid = t7409.uid
AND t7409.name = 'GENERAL'
AND t7409.type IN ('U', 'S', 'V')
AND t7410.usertype *= t7408.usertype
AND t7412.sid = t7411.sid
AND t7412.name = user_name()
ORDER BY
t7410.colid ASC
Run Code Online (Sandbox Code Playgroud) 我正在尝试为 Windows 10 设置防火墙例外。经过多次搜索后,我整理了以下代码:
private const string PROGID_OPEN_PORT = "HNetCfg.FWOpenPort";
private const string CLSID_FIREWALL_MANAGER = "{304CE942-6E39-40D8-943A-B913C40C9CD4}";
private NetFwTypeLib.INetFwMgr GetFirewallManager()
{
Type objectType = Type.GetTypeFromCLSID(
new Guid(CLSID_FIREWALL_MANAGER));
return Activator.CreateInstance(objectType)
as NetFwTypeLib.INetFwMgr;
}
INetFwMgr manager = GetFirewallManager();
Type type = Type.GetTypeFromProgID(PROGID_OPEN_PORT);
INetFwOpenPort port = Activator.CreateInstance(type) as INetFwOpenPort;
port.Name = "MyPortRule";
port.Port = 9600;
port.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL;
port.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;
port.IpVersion = NET_FW_IP_VERSION_.NET_FW_IP_VERSION_ANY;
manager.LocalPolicy.CurrentProfile.GloballyOpenPorts.Add(port);
Run Code Online (Sandbox Code Playgroud)
这确实将防火墙规则放入具有高级安全性的 Windows 防火墙中,但该规则的配置文件设置为公开。配置文件设置为公共防火墙不会让数据通过端口。
使用 Windows UI 修改规则,我确定必须将 Profile 设置为“private”或“any”,以便数据通过。为什么不将 port.Scope 设置为 NET_FW_SCOPE_.NET_FW_SCOPE_ALL 将配置文件设置为 Any?您如何将防火墙规则中的配置文件设置为私有或任何?
我还尝试将 port.Scope 设置为 NET_FW_SCOPE_.NET_FW_SCOPE_LOCAL_SUBNET。配置文件仍设置为“公开”。
我正在将Visual Studio 6项目转换为Visual Studio 2010.该项目大量使用STL.转换后,编译器会出错.代码和错误如下.
#include <list>
namespace mySpace
{
template <class T>
class MyList : public std::list<T>
{
public:
typedef std::list<T>::allocator_type AllocatorType;
}
Run Code Online (Sandbox Code Playgroud)
错误:错误2错误C2146:语法错误:缺少';' 在标识符'AllocatorType'c:\ myProject\mylist.h之前39 1
我可以单击'allocator_type'文本并按F12,IDE将我带到列表中的'allocator_type'定义.
如果我删除':: allocator_type',错误就会消失.
任何想法会导致什么?