2011-09-21 19 views
5

Tôi có một dự án asp.net 1 cũ (nó hoạt động tốt trên máy chủ cũ, mytable tồn tại trong db. tôi cố gắng để nâng cấp nó lên asp.net 4SQL SERVER ODBC ERROR (tên đối tượng không hợp lệ) nhưng khi tôi thêm vào truy vấn SQL mydb.dbo.mytable tất cả hoạt động tốt

chuỗi kết nối của tôi là:

<add key="SqlConnection" 
    value="DRIVER={SQL Server};SERVER=bel\SQLEXPRESS;Trusted_connection=yes;DAT­ABASE=mydb;option=3;"/> 

tôi nhận được lỗi

ERROR [42S02] [Microsoft] [ODBC SQL server driver] [ SQL Máy chủ] Tên đối tượng không hợp lệ 'mytable'.

OdbcCommand dataCommand = new OdbcCommand ("select * from mytable", dataConnection);
dataCommand.CommandTimeout = 900;
Dữ liệu OdbcDataReaderReader = dataCommand.ExecuteReader (CommandBehavior.CloseConnection);

Khi tôi viết SQL như select * from mydb.dbo.mytable tất cả hoạt động tốt

Những gì tôi nên thay đổi trong cài đặt db (an ninh, lược đồ, dbo) hoặc trong chuỗi kết nối?

+0

Chỉ cần luôn chỉ định giản đồ - ví dụ sử dụng 'dbo.MyTable' thay vì chỉ' MyTable' - vì vậy hãy thử 'select * từ dbo.mytable' - nó có hoạt động không? –

Trả lời

11

Tôi đoán, thấy rằng bạn đang sử dụng ODBC, là kết nối ODBC của bạn không chỉ định một cơ sở dữ liệu mặc định, và do đó, nó sử dụng tổng thể.

Bạn có thể:

  • chỉ định cơ sở dữ liệu trong chuỗi kết nối của bạn sử dụng "Cơ sở dữ liệu = myDBname" hoặc "InitialCatalog = myDBname"
  • thay đổi cơ sở dữ liệu mặc định trong kết nối ODBC của bạn, như thể hiện ở đây trong XP/Server 2003 SQL Server ODBC
Các vấn đề liên quan