【发布时间】:2018-01-11 15:28:06
【问题描述】:
我必须在 sql 中插入大量数据,该操作无法通过 SQL Management Studio 进行,因此我正在调查通过sqlcmd 插入的操作。所以我做了以下事情:
-
创建一个包含以下查询的file.sql(多次):
IF NOT EXISTS (SELECT * FROM [dbo].[tblAccount] WHERE [AccountID] = 117242 AND [TimeStamp] = CAST(N'2013-01-16 05:53:50.490' AS DateTime)) BEGIN INSERT INTO [dbo].[tblAccount] ([AccountID] ,[Name] ,[Comment] ,[IsMachine] ,[UserID] ,[Prefix] ,[Action] ,[Initials] ,[Name] ,[TimeStamp] ,[Reason] ,[Iscal]) VALUES (117242 ,'blabla' ,'The users project)' ,1 ,'val' ,39 ,'val' ,'blabla' ,'blabla' ,CAST(N'2013-01-16 05:53:50.490' AS DateTime) ,'NORMAL' ,'0') END -
我将文件保存到一个文件夹中,然后从命令行执行以下操作:
C:\>sqlcmd -S pc_name\MSSQLEXPRESS -i"C:\Users\name\Desktop\OutPut\Result tblAccount.sql"
我收到以下错误:
消息 208,级别 16,状态 1,服务器 pc_name\MSSQLEXPRESS,第 1 行
无效的对象名称“dbo.tblAccount”。
我不确定是不是和sql的语法有关,还是和我写sqlcmd的方式有关。
【问题讨论】:
-
你能不能尝试瞄准精确的服务器也像
[YourServerName].[dbo].[tblAccount] -
也许你的默认数据库是错误的。尝试将
-d切换为USE数据库。
标签: sql-server sqlcmd qsqlquery