sqlserver 2000/2005 Ambiguous column error错误解决办法
今天针对Sql server 2005的脚本在Sql server 2000上执行,发生了两个错误 Msg 209, Level 16, State 1, Procedure tbh_Forums_GetUnapprovedPosts, Line 13 Ambiguous column name 'AddedDate'. Msg 209, Level 16, State 1, Procedure tbh_Forums_GetThread
今天针对Sql server 2005的脚本在Sql server 2000上执行,发生了两个错误
Msg 209, Level 16, State 1, Procedure tbh_Forums_GetUnapprovedPosts, Line 13
Ambiguous column name 'AddedDate'.
Msg 209, Level 16, State 1, Procedure tbh_Forums_GetThreadByID, Line 13
Ambiguous column name 'AddedDate'.
原来就是Forums表中和Post表中具有相同的列AddedDate,通过as 方式改写就可以解决了
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbh_Forums_GetThreadByID]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[tbh_Forums_GetThreadByID]
(
@ThreadPostID int
)
AS
SET NOCOUNT ON
SELECT tbh_Posts.PostID, tbh_Posts.AddedDate as AddedDate, tbh_Posts.AddedBy, tbh_Posts.AddedByIP, tbh_Posts.ForumID, tbh_Posts.ParentPostID, tbh_Posts.Title, tbh_Posts.Body, tbh_Posts.Approved, tbh_Posts.Closed, tbh_Posts.ViewCount, tbh_Posts.ReplyCount, tbh_Posts.LastPostDate, tbh_Posts.LastPostBy,
tbh_Forums.Title AS ForumTitle
FROM tbh_Posts INNER JOIN
tbh_Forums ON tbh_Posts.ForumID = tbh_Forums.ForumID
WHERE PostID = @ThreadPostID OR ParentPostID = @ThreadPostID
ORDER BY AddedDate ASC'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tbh_Forums_GetUnapprovedPosts]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[tbh_Forums_GetUnapprovedPosts]
AS
SET NOCOUNT ON
SELECT tbh_Posts.PostID, tbh_Posts.AddedDate as AddedDate, tbh_Posts.AddedBy, tbh_Posts.AddedByIP, tbh_Posts.ForumID, tbh_Posts.ParentPostID, tbh_Posts.Title, tbh_Posts.Approved, tbh_Posts.Closed, tbh_Posts.ViewCount, tbh_Posts.ReplyCount, tbh_Posts.LastPostDate, tbh_Posts.LastPostBy,
tbh_Forums.Title AS ForumTitle, CASE
WHEN ParentPostID = 0 THEN 1
ELSE 0
END AS IsThreadPost
FROM tbh_Posts INNER JOIN
tbh_Forums ON tbh_Posts.ForumID = tbh_Forums.ForumID
WHERE Approved = 0
ORDER BY IsThreadPost DESC, AddedDate ASC'
END
GO
虽然这样解决了问题,这不应该是问题的真正原因,各位同学谁知道这个问题的真正原因?

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Untuk objek dengan nama yang sama yang telah wujud dalam pangkalan data SQL Server, langkah berikut perlu diambil: Sahkan jenis objek (jadual, paparan, prosedur tersimpan). IF NOT EXISTS boleh digunakan untuk melangkau penciptaan jika objek kosong. Jika objek mempunyai data, gunakan nama lain atau ubah suai struktur. Gunakan DROP untuk memadam objek sedia ada (berhati-hati, sandaran disyorkan). Semak perubahan skema untuk memastikan tiada rujukan kepada objek yang dipadam atau dinamakan semula.

Langkah import adalah seperti berikut: Salin fail MDF ke direktori data SQL Server (biasanya C:\Program Files\Microsoft SQL Server\MSSQL\DATA). Dalam SQL Server Management Studio (SSMS), buka pangkalan data dan pilih Lampirkan. Klik butang Tambah dan pilih fail MDF. Sahkan nama pangkalan data dan klik butang OK.

Apabila perkhidmatan SQL Server gagal dimulakan, berikut ialah beberapa langkah untuk diselesaikan: Semak log ralat untuk menentukan punca. Pastikan akaun perkhidmatan mempunyai kebenaran untuk memulakan perkhidmatan. Semak sama ada perkhidmatan pergantungan sedang berjalan. Lumpuhkan perisian antivirus. Membaiki pemasangan SQL Server. Jika pembaikan tidak berjaya, pasang semula SQL Server.

Untuk melihat nombor port SQL Server: Buka SSMS dan sambung ke pelayan. Cari nama pelayan dalam Object Explorer, klik kanan padanya dan pilih Properties. Dalam tab Sambungan, lihat medan Port TCP.

Fail pangkalan data SQL Server biasanya disimpan di lokasi lalai berikut: Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data Lokasi fail pangkalan data boleh disesuaikan dengan mengubah suai laluan fail pangkalan data tetapan.

Jika anda secara tidak sengaja memadamkan pangkalan data SQL Server, anda boleh mengambil langkah-langkah berikut untuk memulihkan: hentikan aktiviti pangkalan data periksa log pangkalan data: pulihkan daripada sandaran menggunakan DBCC; alatan parti. Sila sandarkan pangkalan data anda dengan kerap dan dayakan pengelogan transaksi untuk mengelakkan kehilangan data.

Jika pemasangan SQL Server gagal, anda boleh membersihkannya dengan mengikuti langkah berikut: Nyahpasang SQL Server Padam kekunci pendaftaran Padam fail dan folder Mulakan semula komputer

Masalahnya didapati bahawa kali ini saya menggunakan pangkalan data SqlServer, yang saya tidak pernah gunakan sebelum ini, tetapi masalahnya tidak serius Selepas saya menyambungkan SqlServer mengikut langkah-langkah dalam dokumen keperluan, saya memulakan projek SpringBoot dan menemui satu. ralat, seperti berikut: Pada mulanya saya fikir ia adalah sambungan SqlServer Terdapat masalah, jadi saya pergi untuk menyemak pangkalan data dan mendapati bahawa segala-galanya dalam pangkalan data saya mula-mula bertanya kepada rakan-rakan saya jika mereka mempunyai masalah seperti itu mendapati bahawa mereka tidak, jadi saya memulakan bahagian terbaik saya, menghadapi pengaturcaraan Baidu. Mesej ralat khusus yang saya mula selesaikan ialah ini, jadi saya memulakan pelaporan ralat Baidu: ERRORc.a.d.p.DruidDataSource$CreateCo
