我想在MS SQL Server 2000中创建一个链接服务器到MS SQL 2005 Server,它运行在端口x(不是默认端口1433)上.但它不起作用,因为我无法在任何地方指定端口!?
使用sqlcmd(指定端口x),我可以毫无问题地连接到服务器 - 但我无法将其设置为链接服务器.
如何才能做到这一点?
我尝试使用CreateUser方法创建一个新用户.但是当我点击创建用户按钮时,我得到了这个奇怪的错误:"提供的密码答案无效".
我已经尝试输入强密码(123 $ 567)或普通密码(1234).我怀疑它与密码强度有什么关系,因为这会引发一个不同的异常.
这是我的代码:
Membership.CreateUser(username, password);
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么会这样?
我正在经历一个我接管的项目,在数据库方面,我注意到以前的程序员编写了一堆触发器来删除子记录.问题是,这些记录已经与我要删除的父记录有外键关系.删除触发器只是子记录的简单删除语句.
编写触发器以删除子记录是否有好处,或者我可以将其更改为在删除时级联并且没问题?
我正在使用MSSQL 2008.
例如,如何计算这两个日期时间之间的间隔:
2009-09-18 00:00:00
2009-10-17 00:00:00
编辑
我的意思是以年 - 月 - 日小时的格式得到间隔:min:秒
我昨天在我的开发机器上恢复了一个35Gb的数据库,直到今天早上我的客户端应用程序无法连接时一切正常.所以我打开SQL Management Studio来查找数据库'In Recovery'.
除了它通常与未提交的事务有关之外,我不知道有很多这方面的事情.现在,因为我知道没有任何未提交的交易,它必须是别的东西.首先,我想知道在什么条件下会发生这种情况.其次,虽然这种情况正在发生,但我无法工作,所以如果有任何方法可以阻止恢复,加快速度,或者至少找到大约会有多长时间,这将有所帮助.
我似乎无法执行使用DbCommand对象创建数据库的SQL.我究竟做错了什么?这是我的代码:
DbConnection connection; // initialized and opened elsewhere
DbCommand cmd = connection.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
这是错误:
查询语法无效.,在术语'/',第1行,第2列附近.说明:在执行当前Web请求期间发生了未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.Data.EntitySqlException:查询语法无效.,在术语'/',第1行,第2列附近.
这是文件的第一部分.仅针对第一行的注释抛出异常:
/****** Object: Table [dbo].[User] Script Date: 10/08/2009 12:14:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[User](
[Id] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [nvarchar](50) NULL,
[LastName] [nvarchar](50) NULL,
[EmailAddress] [nvarchar](100) NULL,
CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] …Run Code Online (Sandbox Code Playgroud) 以下两个索引之间是否有任何差异?
如果有,有什么区别?
create table IndexTables (
id int identity(1, 1) primary key,
val1 nvarchar(100),
val2 nvarchar(100),
)
create index IDX_IndexTables_1 on IndexTables (val1, val2)
GO
create index IDX_IndexTables_2 on IndexTables (val2, val1)
GO
Run Code Online (Sandbox Code Playgroud) 我想设置一个触发器,以便在更新时预测字段为= 3,然后触发器将值更改为4并将其保存在数据库中.触发器如下.
出于某种原因,我不断收到错误说:
#1442 - Can't update table 'tzanalytic\_forecast\_cached' in stored
function/trigger because it is already used by statement which invoked
this stored function/trigger.
Run Code Online (Sandbox Code Playgroud)
这是正确的方式吗?
delimiter $$
CREATE TRIGGER no_BoW BEFORE UPDATE ON t FOR EACH ROW
BEGIN set @prediction = new.prediction;
UPDATE t SET t.prediction = (SELECT IF(@prediction = '3', '4', @prediction)) WHERE t.event_id = new.event_id AND t.price_tier = new.price_tier; END;
$$ delimiter ;
Run Code Online (Sandbox Code Playgroud) 我有两个选择,我想以这样的方式组合它们,只返回两个选择中唯一的行.Oracle 10g中是否有内置的方法来实现这一目标?
我知道我可以这样做:
(select1 UNION select2) MINUS (select1 INTERSECT select2)
但我想避免它.双方select1并select2有20条线,所以这种方式将是非常晦涩和难以维持.
我正在研究高中分级系统.
在我的学校,可以通过重新处理问题来改变成绩,并将这些更改与日期存储在一起.
我有一个正确返回平均值的函数,因为最近的成绩标记为"当前"字段,值为"1".我想使该功能能够返回与过去相关的最新等级.我正在绘制他们的平均值随时间变化的图表.
我想做的是这样的事情:
select sum(grades.points)
from grades
where date < 'thedate'
order by date DESC
group by assignmentID
Run Code Online (Sandbox Code Playgroud)
我不能使用sum和group by.它错了......
我能想到的最好的是做一个子选择.还有其他想法吗?