Nama sumber data pengelola driver odbc excel tidak ditemukan

Saat mencoba menggunakan ODBC untuk menyambung ke database di bawah Windows x64, kesalahan berikut muncul di log


15 Okt 2018 18. 18. 27 Menghubungkan ke sumber data ODBC MYDBMS
>>> IM002/0. [Microsoft][ODBC Driver Manager] Nama sumber data tidak ditemukan dan
tidak ada driver default yang ditentukan
>>> 08003/0. [Microsoft][ODBC Driver Manager] Koneksi tidak terbuka
15 Okt 2018 18. 18. 27 >>> Kesalahan X'0100003B' membuka daftar DBMS <<<
15 Okt 2018 18. 18. 27  -> Keparahan. Kesalahan
15 Okt 2018 18. 18. 27  -> Fasilitas. antarmuka DBMS
15 Okt 2018 18. 18. 27  -> Abstrak. kesalahan SQL


Kami menggunakan pengaturan ODBC_* yang sama yang berfungsi pada server 32-bit kami (atau kami telah menyiapkan LISTSERV dengan benar untuk berbicara dengan ODBC)


CATATAN. FAQ ini benar-benar lebih ditujukan untuk LISTSERV versi 32-bit yang berjalan di bawah Windows versi 64-bit. Karena L-Soft tidak lagi menyediakan versi 32-bit dari LISTSERV, pengguna versi yang didukung saat ini tidak akan menyadari masalah ini; .


Pada sistem x64 ada dua versi alat "ODBC Datasource Administrator". Satu versi untuk 64-bit dan satu versi untuk 32-bit. Saat membuat sumber data, Anda harus berhati-hati untuk menggunakan alat yang benar sehubungan dengan program klien mana yang akan menggunakan sumber data tersebut. Artinya, jika program 32-bit perlu mengakses sumber data, Anda harus membuat sumber data ini menggunakan alat versi 32-bit

Sayangnya, pintasan ke alat yang dapat Anda temukan di lokasi biasa di "Panel Kontrol" -> "Alat Administratif" menunjuk ke versi 64-bit alat bahkan tanpa petunjuk bahwa ada juga versi yang berbeda. Versi 32-bit ada di sub-folder khusus dari folder Windows

Jadi, tergantung pada jenis sumber data yang Anda butuhkan (untuk akses 64-bit atau 32-bit), Anda harus menggunakan salah satu dari keduanya

Untuk 64-bit
%SystemRoot%\system32\odbcad32. exe
(atau cukup gunakan pintasan di "Control Panel" -> "Administrative Tools")

Untuk 32-bit
%SystemRoot%\SysWOW64\odbcad32. exe

(Perhatikan bahwa kedua file memiliki nama yang sama "odbcad32. exe", bahkan versi 64-bit - perbedaan kedua file tersebut adalah lokasinya, yang lagi-lagi membingungkan bahwa alat untuk sumber data 32-bit ada di folder yang disebut "SysWOW64". )

Untuk pengguna LISTSERV 32-bit, solusinya adalah membuat ulang sumber data sebagai sumber data 32-bit menggunakan alat ODBC 32-bit "tersembunyi" (yang, seperti disebutkan di atas, tidak lagi disembunyikan pada Windows Server 2016)

Saya bekerja di SQL server 2017 Saya perlu mengimpor data dari excel 2016 ke sql server 2017

Saya menggunakan skrip python untuk melakukan itu

Saya membuat odbc dan tes sukses dengan nama Testserver

jalur G:\ImportExportExcel memiliki allpackage and every one full control permissions

 my instance name is : AHMEDSALAHSQL

 my pc name DESKTOP-L558MLK

named pipe enabled true

and instance allow remote

ketika menjalankan skrip di bawah ini

declare @ImportPath NVARCHAR(MAX)='G:\ImportExportExcel'
 declare @DBConnectionString NVARCHAR(MAX) = 'dsn=Testserver;Uid=sa;Pwd=321'
 declare @ImportAll BIT=0
 declare @CombineTarget BIT=0
 declare @ExcelFileName NVARCHAR(200)='dbo.studentsdata'
 declare @ExcelSheetName NVARCHAR(50)='students2'
 

  

 
 SELECT @ImportPath = CASE WHEN RIGHT(@ImportPath,1) = '\' THEN @ImportPath ELSE CONCAT(@ImportPath,'\') END
 DECLARE @Serv NVARCHAR(200) = CONCAT(CHAR(39),CHAR(39),@@SERVERNAME,CHAR(39),CHAR(39))
 
  DECLARE @ValidPath TABLE (ValidPathCheck BIT)
 
INSERT @ValidPath
EXEC sp_execute_external_script
@language =N'Python',
@script=N'
import pandas as pd
d = os.path.isdir(ImportFilePath)
OutputDataSet = pd.DataFrame([d],columns=["Filename"])'
,@params = N'@ImportFilePath NVARCHAR(MAX)'
,@ImportFilePath = @ImportPath
 

        
     
DECLARE @PythonScript NVARCHAR(MAX) =CONCAT('
import pandas as pd
import os
import glob
from revoscalepy import RxSqlServerData, rx_data_step
sqlConnString = "Driver=Testserver;Server=Serv; ',@DBConnectionString,'"
Filefolderepath = ImportFilePath+"*.xlsx"

if ImportAll ==0:
   Filename =ImportFilePath+ExcelFileName+".xlsx"
   exists = os.path.isfile(Filename)
   if exists and ExcelSheetName in pd.ExcelFile(Filename).sheet_names:
         Output = pd.read_excel(Filename, sheetname=ExcelSheetName, na_filter=False).astype(str)
         if not Output.empty:
             sqlDS = RxSqlServerData(connection_string = sqlConnString,table = "".join(fl for fl in ExcelFileName if fl.isalnum())+"_"+"".join(sh for sh in ExcelSheetName if sh.isalnum()))
             rx_data_step(input_data = Output, output_file = sqlDS,overwrite = True)
   else:
      print("Invalid Excel file or sheet name")')
  
EXEC   sp_execute_external_script
      @language = N'Python'
     ,@script = @PythonScript
     ,@params = N'@ImportFilePath NVARCHAR(MAX),@ImportAll BIT,@CombineTarget BIT,@ExcelFileName NVARCHAR(200),@ExcelSheetName NVARCHAR(50),@Serv NVARCHAR(200)'
     ,@ImportFilePath = @ImportPath
     ,@ImportAll = @ImportAll
     ,@CombineTarget = @CombineTarget
     ,@ExcelFileName = @ExcelFileName
     ,@ExcelSheetName = @ExcelSheetName
     ,@Serv = @Serv
_

Saya mendapatkan kesalahan saat menjalankan kueri

Msg 39004, Level 16, State 20, Line 0
A 'Python' script error occurred during execution of 'sp_execute_external_script' with HRESULT 0x80004004.
Msg 39019, Level 16, State 2, Line 0
An external script error occurred: 

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified



Error in execution.  Check the output for more information.
DataStep error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

jadi adakah yang bisa membantu saya untuk memecahkan masalah?

Saya menambahkan koneksi odbc ke pc saya dan mengujinya dengan sukses

Bagaimana cara memperbaiki nama sumber data tidak ditemukan dan tidak ada driver default yang ditentukan?

Anda dapat memeriksa driver yang diinstal pada sistem Anda dengan membuka Administrator Sumber Data ODBC . Untuk membukanya, tekan ⊞ Win + R , dan ketik. odbcad32. exe. Kemudian periksa tab Driver untuk driver yang diinstal. Kolom Nama menunjukkan nama persis yang harus Anda gunakan dalam string koneksi atau DSN.

Bagaimana cara menambahkan sumber data ODBC ke excel?

Tambahkan sumber data ODBC .
Klik Mulai, lalu klik Panel Kontrol
Di Panel Kontrol, klik dua kali Alat Administratif
Di kotak dialog Alat Administratif, klik dua kali Sumber Data (ODBC). .
Klik User DSN, System DSN, atau File DSN, bergantung pada tipe sumber data yang ingin Anda tambahkan. .
Klik Tambahkan

Bagaimana cara mengubah nama sumber data di ODBC?

Untuk mengubah sumber data untuk Windows .
Buka Administrator Sumber Data ODBC. Klik tab DSN yang sesuai
Pilih sumber data Oracle yang ingin Anda ubah, lalu klik Konfigurasi. Kotak dialog Microsoft ODBC for Oracle Setup muncul
Ubah bidang sumber data yang berlaku, lalu klik OK

Apa nama sumber data ODBC?

Nama Sumber Data (DSN) adalah nama logis yang digunakan oleh Open Database Connectivity (ODBC) untuk merujuk pada driver dan informasi lain yang diperlukan untuk mengakses data dari . .