Ich frage mich, ob es eine andere Verwendung als maschinelles Lernen gibt. .. .. Es ist eine Nische. .. Ich werde erklären, wie eine Verbindung zu Microsoft SQL Server von Linux über ODBC hergestellt wird. Lassen Sie uns den Test in Python ausführen.
Laden Sie die Testversion von SQL Server ODBC-Treiber für Linux von der Website herunter. ..
Führen Sie nach dem Herunterladen den folgenden Linux-Befehl aus, um das Paket in einen neuen Ordner zu verschieben.
mkdir datadirect
mv PROGRESS_DATADIRECT_ODBC_SQLSERVER_LINUX_XX.tar.Z datadirect/
cd datadirect/
tar -xvf PROGRESS_DATADIRECT_ODBC_SQLSERVER_LINUX_64.tar.Z
Für Debian
sudo apt-get install ksh
Für CentOS / RHEL
sudo yum install ksh
./unixmi.ksh
Ich stimme der Lizenzvereinbarung mit "Ja" zu.
Geben Sie an der Eingabeaufforderung Ihren Namen und Firmennamen ein. Geben Sie EVAL als Seriennummer und Schlüssel ein.
Auf einem Bildschirm werden Sie aufgefordert, alle enthaltenen Treiber zu installieren oder einen zu installierenden Treiber auszuwählen. Wählen Sie hier Option 2 aus.
sudo chmod +x odbc.sh
./odbc.sh
echo $ODBCINI
./odbc.sh
export LD_LIBRARY_PATH=/install_path/Progress/DataDirect/Connect64_for_ODBC_71/lib
export ODBCINI=/ install_path/Progress/DataDirect/Connect64_for_ODBC_71/odbc.ini
export ODBCINST=/ install_path/Progress/DataDirect/Connect64_for_ODBC_71/odbcinst.ini
source ~/.bashrc
[ODBC Data Sources]
SQL Server Legacy Wire Protocol=DataDirect 7.1 SQL Server Legacy Wire Protocol
[ODBC]
IANAAppCodePage=4
InstallDir=/home/progress/Progress/DataDirect/Connect64_for_ODBC_71
Trace=0
TraceFile=odbctrace.out
TraceDll=/home/progress/Progress/DataDirect/Connect64_for_ODBC_71/lib/ddtrc27.so
[SQL Server Wire Protocol]
Driver=/home/progress/Progress/DataDirect/Connect64_for_ODBC_71/lib/ddsqls27.so
Description=DataDirect 7.1 SQL Server Wire Protocol
AlternateServers=
AlwaysReportTriggerResults=0
AnsiNPW=1
ApplicationName=
ApplicationUsingThreads=1
AuthenticationMethod=1
BulkBinaryThreshold=32
BulkCharacterThreshold=-1
BulkLoadBatchSize=1024
BulkLoadFieldDelimiter=
BulkLoadOptions=2
BulkLoadRecordDelimiter=
ConnectionReset=0
ConnectionRetryCount=0
ConnectionRetryDelay=3
Database=<database_name>
EnableBulkLoad=0
EnableQuotedIdentifiers=0
EncryptionMethod=0
FailoverGranularity=0
FailoverMode=0
FailoverPreconnect=0
FetchTSWTZasTimestamp=0
FetchTWFSasTime=1
GSSClient=native
HostName=<server_name>
HostNameInCertificate=
InitializationString=
Language=
LoadBalanceTimeout=0
LoadBalancing=0
LoginTimeout=15
LogonID=<logon id> (optional)
MaxPoolSize=100
MinPoolSize=0
PacketSize=-1
Password=<password> (optional)
Pooling=0
PortNumber=1433
QueryTimeout=0
ReportCodePageConversionErrors=0
SnapshotSerializable=0
TrustStore=
TrustStorePassword=
ValidateServerCertificate=1
WorkStationID=
XMLDescribeType=-10
pip install pyodbc
Wenn Sie eine Ausnahme erhalten, dass die Bibliothek <sql.h> nicht gefunden werden kann, müssen Sie möglicherweise das unixODBC-Paket installieren. Sie können es installieren, indem Sie den folgenden Befehl ausführen.
Debain:
sudo apt-get install unixodbc unixodbc-dev
CentOS/Redhat:
sudo apt-get install unixODBC unixODBC-devel
import pyodbc
##connecting to your database through ODBC
cnxn = pyodbc.connect('DSN=SQL Server Wire Protocol;UID=sa;PWD=pass', autocommit=True)
cursor = cnxn.cursor()
##Print TableNames
for row in cursor.tables():
if row.table_type == "TABLE":
print (row.table_name)
print (row)
##Executing a simple query and printing the records
cursor.execute("SELECT EmployeeID, LastName, FirstName, Address, City, Region from Northwind.dbo.Employees")
for row in cursor.fetchall():
print (row)
In diesem Artikel wird der SQL Server-Authentifizierungsmodus verwendet. Die ODBC- und JDBC-Treiber von DataDirect SQL Server unterstützen jedoch auch die Windows-Authentifizierung und Kerberos. Dies ist also ein anderes Mal.
Recommended Posts