我想要一个使用SQL Server作为其数据库的CRM;我发现this link - 有更好的选择吗?
我编译了Tustena.csproj
文件,但是我收到了一个错误(即对空对象的引用),所以我想创建数据库,但SQL查询已经过时了。
CREATE DATABASE [TustenaOS]
ON (NAME = N'Tustena_Data', FILENAME = N'{0}\TustenaOS.mdf', SIZE = 3, FILEGROWTH = 10%)
LOG ON (NAME = N'Tustena_Log', FILENAME = N'{1}\TustenaOS_log.ldf', SIZE = 3, MAXSIZE = 2146, FILEGROWTH = 10%)
GO
exec sp_dboption N'TustenaOS', N'autoclose', N'false'
GO
exec sp_dboption N'TustenaOS', N'bulkcopy', N'false'
GO
exec sp_dboption N'TustenaOS', N'trunc. log', N'true'
GO
exec sp_dboption N'TustenaOS', N'torn page detection', N'true'
GO
exec sp_dboption N'TustenaOS', N'read only', N'false'
GO
exec sp_dboption N'TustenaOS', N'dbo use', N'false'
GO
exec sp_dboption N'TustenaOS', N'single', N'false'
GO
exec sp_dboption N'TustenaOS', N'autoshrink', N'true'
GO
exec sp_dboption N'TustenaOS', N'ANSI null default', N'false'
GO
exec sp_dboption N'TustenaOS', N'recursive triggers', N'false'
GO
exec sp_dboption N'TustenaOS', N'ANSI nulls', N'false'
GO
exec sp_dboption N'TustenaOS', N'concat null yields null', N'false'
GO
exec sp_dboption N'TustenaOS', N'cursor close on commit', N'false'
GO
exec sp_dboption N'TustenaOS', N'default to local cursor', N'false'
GO
exec sp_dboption N'TustenaOS', N'quoted identifier', N'false'
GO
exec sp_dboption N'TustenaOS', N'ANSI warnings', N'false'
GO
exec sp_dboption N'TustenaOS', N'auto create statistics', N'true'
GO
exec sp_dboption N'TustenaOS', N'auto update statistics', N'true'
GO
use [TustenaOS]
GO
CREATE TABLE [dbo].[ACTIVITYMOVELOG]
(
[ID] [bigint] IDENTITY (1, 1) NOT NULL ,
[ACID] [bigint] NOT NULL ,
[ACTIONTYPE] [tinyint] NOT NULL ,
[PREVVALUE] [nvarchar] (500) NULL ,
[NEXTVALUE] [nvarchar] (500) NULL ,
[MOVEDATE] [datetime] NOT NULL ,
[OWNERID] [bigint] NOT NULL
) ON [PRIMARY]
GO
我在SQL Server 2008中有这个查询,SQL Server 2012中的等价物是什么?
如何将SQL查询从SQL Server 2008升级到2012?
更新:我安装了SQL Server2008并运行查询但是第一行出现此错误
Msg 5105,Level 16,State 2,Line 2 发生文件激活错误。物理文件名“{0} \ TustenaOS.mdf”可能不正确。诊断并更正其他错误,然后重试该操作。 Msg 1802,Level 16,State 1,Line 2 CREATE DATABASE失败。无法创建列出的某些文件名。检查相关错误。
消息15010,级别16,状态1,过程sp_dboption,第64行 数据库'TustenaOS'不存在。提供有效的数据库名称。要查看可用的数据库,请使用sys.databases。
更新2 :谢谢你Jeroen Mostert,现在在这一行我替换了这个
' ON (NAME = N'Tustena_Data', FILENAME =N'{0}\TustenaOS.mdf', SIZE = 3, FILEGROWTH = 10%) LOG ON (NAME =N'Tustena_Log', FILENAME = N'{1}\TustenaOS_log.ldf', SIZE = 3, MAXSIZE =2146, FILEGROWTH = 10%) GO'
用这个
'CREATE DATABASE [TustenaOS]'
但现在在这一行
INSERT [TUSTENA_DATA] ([COMPANYNAME], [LICENCE], [PHONE], [FAX], [EMAIL], [WEBSITE], [ADDRESS], [CITY], [PROVINCE], [REGION], [STATE], [ZIPCODE], [ACTIVE], [MAXUSER], [ADMINGROUPID], [PHONENORMALIZE], [CUSTOMTYPES], [LASTACCESS], [TAXIDENTIFICATIONNUMBER], [VATID], [ESTIMATEDDATEDAYS], [DEBUGMODE], [FROMWEB], [GUID], [PIN], [DEFAULTWEBUSER], [IDAGENDA], [DATASTORAGECAPACITY], [SMSCREDIT], [SMSORIGIN], [LINKFORVOIP], [INTERNATIONALPREFIX], [DISKSPACE]) VALUES ('Tustena Custom Company', '', '', '', '', '', '', '', '', '', '', getdate(), 1, 20, 1, NULL, 0, getdate(), '', '', 90, 1, NULL, 'e30df889-6390-4dff-ba54-5d9137c4757d', 99999, 1, NULL, 20, 9, NULL, 'test://', '', 30 )
我有这个错误:
Msg 545,Level 16,State 1,Line 3 当IDENTITY_INSERT设置为ON或复制用户插入NOT FOR REPLICATION标识列时,必须为表'TUSTENA_DATA'中的标识列指定显式值。
答案 0 :(得分:1)
物理文件名' {0} \ TustenaOS.mdf'可能不正确
是的,它不正确 - 您在SQL Server管理工作室中直接使用了C#格式化字符串 - 这是行不通的。您应该提供没有{0}
或{1}
的正确路径。
db_option
存储过程is deprecated in SQL Server 2012。
如果您想要insert into an identity column,则需要运行:
SET IDENTITY_INSERT dbo.[tableName] ON
INSERT ... -- insert identity values
SET IDENTITY_INSERT dbo.[tableName] OFF
另见this answer。
请不要在一个原始问题中添加多个问题。
答案 1 :(得分:0)