使用 SQLCMD 执行脚本 return 无效的对象名称
Use SQLCMD to execute script return Invalid object name
我必须在 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"
我收到以下错误:
Msg 208, Level 16, State 1, Server pc_name\MSSQLEXPRESS, Line 1
Invalid object name 'dbo.tblAccount'.
我不确定它是否与 sql 的语法或我编写 sqlcmd 的方式有关。
我知道这是一年多前的问题,但如果有人 运行 遇到同样的问题,请务必提供凭据。我只是 运行 遇到同样的问题并且没有提供凭据,sqlcmd 发出该错误。我不知道幕后发生了什么,但似乎它在身份验证失败时连接到某种默认数据库,结果找不到 table。
sqlcmd -S <computer name> -U <username> -P <password> -i <absolute path to your script>
我必须在 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"
我收到以下错误:
Msg 208, Level 16, State 1, Server pc_name\MSSQLEXPRESS, Line 1
Invalid object name 'dbo.tblAccount'.
我不确定它是否与 sql 的语法或我编写 sqlcmd 的方式有关。
我知道这是一年多前的问题,但如果有人 运行 遇到同样的问题,请务必提供凭据。我只是 运行 遇到同样的问题并且没有提供凭据,sqlcmd 发出该错误。我不知道幕后发生了什么,但似乎它在身份验证失败时连接到某种默认数据库,结果找不到 table。
sqlcmd -S <computer name> -U <username> -P <password> -i <absolute path to your script>