Sql server 如何为错误号显示指定的表列:22001/8152 SQL Server字符串或二进制数据将被截断?

Sql server 如何为错误号显示指定的表列:22001/8152 SQL Server字符串或二进制数据将被截断?,sql-server,sql-insert,sql-server-2017,Sql Server,Sql Insert,Sql Server 2017,我得到错误号码:22001/8152 SQL[Microsoft][ODBC驱动程序17 for SQL Server][SQL Server]字符串或二进制数据将被截断。 这意味着 源表中的一列大于目标列。 不幸的是,Message并没有显示哪一列是它的谁,我用了很多表列结构,它大约是161列。我认为逐个检查我的参数值和列大小不是一件好事。 有没有最快的方法? 这是我的inssert查询看起来像 INSERT INTO "my_db"."dbo"."my_table" ("Indeks_Ket

我得到错误号码:22001/8152
SQL[Microsoft][ODBC驱动程序17 for SQL Server][SQL Server]字符串或二进制数据
将被截断。
这意味着 源表中的一列大于目标列。 不幸的是,Message并没有显示哪一列是它的谁,我用了很多表列结构,它大约是161列。我认为逐个检查我的参数值和列大小不是一件好事。 有没有最快的方法? 这是我的inssert查询看起来像

INSERT INTO "my_db"."dbo"."my_table" ("Indeks_Keterpaduan", "NA", "admin_pembiayaan", "adopt_b2", "aktivitas_id", "aktivitas_nama", "assessment", "catatan", "dba_", "dlokasi", "dukungan_kawasan", "ikk_id", "ikk_nama", "ikp_id", "ikp_nama", "isu_strategis_id", "isu_strategis_nama", "jaringan_jalan", "jenis_arahan", "jenis_kegiatan", "jenis_kontrakID", "jenis_kontrakNama", "jenis_kotrakKode", "jenis_sub_aktivitas", "kabkot", "kawasan_nama", "kecamatan_id", "kegiatan_id", "kegiatan_nama", "ket_lokasi", "keterangan", "kewenangan", "kode_ssp", "kode_sspn", "kpk", "kws_kode", "outcome_id", "outcome_nama", "output_id", "output_nama", "param_a", "param_b", "param_c", "param_d", "param_e", "param_total", "phln", "politik_anggaran", "prioritas", "program_id", "program_nama", "provinsi_id", "rc_DED", "rc_DEDalokasi", "rc_DEDsatuan", "rc_DEDvol", "rc_Dokling", "rc_Doklingalokasi", "rc_Doklingsatuan", "rc_Doklingvol", "rc_FS", "rc_FSalokasi", "rc_FSsatuan", "rc_FSvol", "rc_dokptanah", "rc_kesesuaian_rtrw", "rc_konstruksi", "rc_konstruksialokasi", "rc_konstruksisatuan", "rc_konstruksivol", "rc_lahan", "rc_lahanalokasi", "rc_lahansatuan", "rc_lahanvol", "rc_masterplan", "rc_pnp1", "rc_pnp2", "rc_proposalpnp", "rc_rdtr", "rc_rdtralokasi", "rc_rdtrsatuan", "rc_rdtrvol", "rc_rispam", "rc_rispamalokasi", "rc_rispamsatuan", "rc_rispamvol", "rc_rp2kpkp", "rc_rp2kpkpalokasi", "rc_rp2kpkpsatuan", "rc_rp2kpkpvol", "rc_rtbl", "rc_rtblalokasi", "rc_rtblsatuan", "rc_rtblvol", "rc_sddt", "rc_skbup", "rc_skbupalokasi", "rc_skbupsatuan", "rc_skbupvol", "rc_skma", "rc_skt", "rc_spb", "rc_spd", "rc_spp", "readines", "rmp", "rpm", "sa1thn_id", "sajp_id", "sastra_id", "sastra_uraian", "satuan_output", "sbsn", "score_admin_pembiayaan", "score_jaringan_jalan", "score_kpk", "score_politik_anggaran", "score_readines", "sinkronisasi", "status", "status_konreg", "status_rakor", "status_verifikasi", "sub_aktivitas", "subkawasan_nama", "suboutput_id", "suboutput_nama", "sumber_arahan", "sumber_dana", "sumber_data_lainnya", "sumber_input_data", "tahun_anggaran", "tapisan", "time_create", "time_update", "total_score", "unit_id", "unit_nama", "uraian_ssp", "uraian_sspn", "user_create", "user_update", "volume", "waa_", "wab_", "wac_", "wba_", "wbb_", "wbc_", "wca_", "wcb_", "wcc_", "wda_", "wdb_", "wdc_", "wps_kode", "wps_nama", "x", "y")values (value1,value2,...,value (n))

不幸的是,在SQL Server 2019之前,没有简单的方法可以确定错误原因msg 8152“字符串或二进制数据将被截断”

虽然不是一个理想的解决方案(但它可以保护您的理智!),但您可以做的是安装SQL Server 2019的本地并排预览实例,并针对它运行应用程序,以获得错误的确切原因


Ref:

如果您可以在本地运行SQL Server 2019,您将在错误消息中获得准确的表/列/值…..不,我无法将/instal SQL Server版本升级到更高的版本,因为其他开发项目使用的当前版本我担心我的系统中存在其他兼容性问题。我不是说永久升级;只是为了找出错误。您可以并行安装sql server实例。这是一个好主意,我将尝试安装。非常感谢@Mitch Wheat