tags:

views:

69

answers:

4

I get an "invalid object name" error when I try to insert records into a table that I just created.

I am using Microsoft SQL 2000. I am testing all of this on the super user account, so there are no permissions issues.

Create the table:

CREATE TABLE [table_test2] (
[User 4] [varchar] (10)  NULL ,  
[User 3] [varchar] (10)  NULL ,  
[User 2] [varchar] (10)  NULL ,  
[User 1] [varchar] (10)  NULL ,  
[Spouse] [varchar] (10)  NULL ,  
[Sensitivity] [varchar] (10)  NULL ,  
[Referred By] [varchar] (10)  NULL ,  
[Profession] [varchar] (10)  NULL ,  
[Private] [varchar] (10)  NULL ,  
[Priority] [varchar] (10)  NULL ,  
[Other Address PO Box] [varchar] (10)  NULL ,  
[Organizational ID Number] [varchar] (10)  NULL ,  
[Office Location] [varchar] (10)  NULL ,  
[Notes] [varchar] (133)  NULL ,  
[Mileage] [varchar] (10)  NULL ,  
[Manager's Name] [varchar] (10)  NULL ,  
[Location] [varchar] (10)  NULL ,  
[Language] [varchar] (10)  NULL ,  
[Keywords] [varchar] (10)  NULL ,  
[Internet Free Busy] [varchar] (10)  NULL ,  
[Initials] [varchar] (10)  NULL ,  
[Home Address PO Box] [varchar] (10)  NULL ,  
[Hobby] [varchar] (10)  NULL ,  
[Government ID Number] [varchar] (10)  NULL ,  
[Gender] [varchar] (16)  NULL ,  
[E-mail 3 Display Name] [varchar] (10)  NULL ,  
[E-mail 3 Type] [varchar] (10)  NULL ,  
[E-mail 3 Address] [varchar] (10)  NULL ,  
[E-mail 2 Display Name] [varchar] (10)  NULL ,  
[E-mail 2 Type] [varchar] (10)  NULL ,  
[E-mail 2 Address] [varchar] (10)  NULL ,  
[E-mail Display Name] [varchar] (38)  NULL ,  
[E-mail Type] [varchar] (10)  NULL ,  
[E-mail Address] [varchar] (38)  NULL ,  
[Directory Server] [varchar] (10)  NULL ,  
[Children] [varchar] (10)  NULL ,  
[Categories] [varchar] (10)  NULL ,  
[Business Address PO Box] [varchar] (10)  NULL ,  
[Birthday] [varchar] (10)  NULL ,  
[Billing Information] [varchar] (10)  NULL ,  
[Assistant's Name] [varchar] (10)  NULL ,  
[Anniversary] [varchar] (10)  NULL ,  
[Account] [varchar] (10)  NULL ,  
[Telex] [varchar] (10)  NULL ,  
[TTY/TDD Phone] [varchar] (10)  NULL ,  
[Radio Phone] [varchar] (10)  NULL ,  
[Primary Phone] [varchar] (10)  NULL ,  
[Pager] [varchar] (10)  NULL ,  
[Other Phone] [varchar] (10)  NULL ,  
[Other Fax] [varchar] (10)  NULL ,  
[Mobile Phone] [varchar] (19)  NULL ,  
[ISDN] [varchar] (10)  NULL ,  
[Home Phone 2] [varchar] (10)  NULL ,  
[Home Phone] [varchar] (10)  NULL ,  
[Home Fax] [varchar] (10)  NULL ,  
[Company Main Phone] [varchar] (10)  NULL ,  
[Car Phone] [varchar] (10)  NULL ,  
[Callback] [varchar] (10)  NULL ,  
[Business Phone 2] [varchar] (10)  NULL ,  
[Business Phone] [varchar] (19)  NULL ,  
[Business Fax] [varchar] (19)  NULL ,  
[Assistant's Phone] [varchar] (10)  NULL ,  
[Other Country/Region] [varchar] (10)  NULL ,  
[Other Postal Code] [varchar] (10)  NULL ,  
[Other State] [varchar] (10)  NULL ,  
[Other City] [varchar] (10)  NULL ,  
[Other Street 3] [varchar] (10)  NULL ,  
[Other Street 2] [varchar] (10)  NULL ,  
[Other Street] [varchar] (10)  NULL ,  
[Home Country/Region] [varchar] (10)  NULL ,  
[Home Postal Code] [varchar] (10)  NULL ,  
[Home State] [varchar] (10)  NULL ,  
[Home City] [varchar] (10)  NULL ,  
[Home Street 3] [varchar] (10)  NULL ,  
[Home Street 2] [varchar] (10)  NULL ,  
[Home Street] [varchar] (10)  NULL ,  
[Business Country/Region] [varchar] (29)  NULL ,  
[Business Postal Code] [varchar] (10)  NULL ,  
[Business State] [varchar] (10)  NULL ,  
[Business City] [varchar] (17)  NULL ,  
[Business Street 3] [varchar] (10)  NULL ,  
[Business Street 2] [varchar] (10)  NULL ,  
[Business Street] [varchar] (30)  NULL ,  
[Job Title] [varchar] (10)  NULL ,  
[Department] [varchar] (10)  NULL ,  
[Company] [varchar] (34)  NULL ,  
[Suffix] [varchar] (10)  NULL ,  
[Last Name] [varchar] (16)  NULL ,  
[Middle Name] [varchar] (10)  NULL ,  
[First Name] [varchar] (10)  NULL ,  
[Title] [varchar] (10)  NULL 
)

No errors creating the table!!

I can select from the table:

select * from table_test2  

But when I try to insert, I get an error that the object is not fonud:

insert into table_test2
('User 4', 'User 3', 'User 2')
values
('a','b','c')

Returns error:

Server: Msg 208, Level 16, State 3, Line 1
Invalid object name 'table_test'.
+4  A: 

They don't have the same name though. The one you have created has a 2 suffix.

CREATE TABLE [table_test2]

And

select * from table_test 

If you are sure you weren't making a similar error with your select/insert statements I would suggest running the following.

select * from 
sysobjects /*For SQL Server 2000*/
where name like 'table_test%'

Additionally your insert statement looks dodgy. I think you would need square brackets or double quotes not single quotes. I'm not sure if that could produce the error you were seeing.

insert into table_test
([User 4], [User 3], [User 2])
values
('a','b','c')
Martin Smith
Sorry, copy and paste error. The table names match and I still get the error.The table is found in the sysobject table. Which is sysobjects, not sys.objects.
JSJoy
@jsjoy - Good point SQL2000 uses sysobjects. What about the square brackets? You definitely can't use single quotes there.
Martin Smith
yep, that's it. I kept focusing on the fact that it says the table is not found. Silly syntax error. Thanks!
JSJoy
A: 

In your CREATE TABLE statement, the name of the table is table_test2

DoubleJ92
Sorry, I corrected the post. The table names are the same when I try it.
JSJoy
A: 

Are you certain you are using the correct database? Try using the USE statement right before each, or prefixing the table with the name of the database, for example:

CREATE TABLE mydatabase..table_name  ...
INSERT INTO mydatabase..table_name ...

The '..' prefix can be used so you don't need to specify the schema (e.g. dbo).

Hope that helps.

Kieren Johnstone
+1  A: 

Syntax error. need to wrap the insert statement column list with brackets rather than quotes:

this would be the proper syntax: insert into table_test2 ([User 4], [User 3], [User 2]) values ('a','b','c')

JSJoy