sql >> Databáze >  >> RDS >> Sqlserver

Jak se připojit k Microsoft SQL Server 2008 (MSSQL) z Matlabu?

Níže uvádím přehled různých přístupů pro přístup k databázím v MATLABu. Zde je seznam otázek Stack Overflow, kde byly některé z nich diskutovány:

Java

MATLAB má vestavěný Java JVM, který vám umožňuje přímo volat Ovladače JDBC z MATLABu. Nejprve je musíte zpřístupnit na Java classpth v MATLABu:

javaclasspath('sqljdbc4.jar');

%# load driver and create connection
driver = com.microsoft.sqlserver.jdbc.SQLServerDriver;
conn  = driver.connect('jdbc:sqlserver://<HOST>:<PORT>;databaseName=<DB>');

%# query database
q = conn.prepareStatement('select * from <TABLE>');
rs = q.executeQuery();
while rs.next()
    char(rs.getString(0))
end
rs.close();
conn.close();

Soubor nástrojů databáze

Pokud máte přístup k Souboru databázových nástrojů , může to výše uvedené zjednodušit, protože funguje jako obal kolem věcí JDBC/ODBC:

conn = database('<DB>', '<USER>','<PASS>', ...
    'com.microsoft.sqlserver.jdbc.SQLServerDriver', ...
    'jdbc:sqlserver://<HOST>:<PORT>;database=<DB>');
curs = exec(conn, 'select * from <TABLE>');
curs = fetch(curs);
curs.Data
close(curs)
close(conn)

K databázi můžete také přistupovat prostřednictvím ODBC. Nejprve vytvořte DSN k serveru MSSQL (Control Panel > ODBC Data Sources ), pak jej použijte z Database Toolbox:

conn = database('myDB', '', '');    %# User/System DSN
%...
close(conn)

COM

Přímo můžete použít komponentu ADO OLEDB z MATLABu. Jedním ze způsobů je zadat připojovací řetězec (bez DNS):

conn = actxserver('ADODB.Connection');
conn.Open('Provider=sqloledb;Data Source=<HOST>;Initial Catalog=<DB>;User Id=<USER>;Password=<PASS>;');
conn.Execute('select * from <TABLE>').GetRows
conn.Close()

.NET

Poslední verze MATLABu konečně přidaly možnost volat .NET z MATLABu . Takže můžete použít poskytovatele dat ADO.NET:

import System.Data.SqlClient.*
NET.addAssembly('System.Data');
conn = SqlConnection('Data Source=<HOST>;Initial Catalog=<DB>');
conn.Open();
q = SqlCommand('select * from <TABLE>', conn);
r = q.ExecuteReader();
while r.Read()
    char(r.GetString(0))
end
r.Close()
conn.Close()



  1. django.db.utils.OperationalError:(2013, ztracené připojení k serveru MySQL při 'handshake:čtení počátečního komunikačního paketu', systémová chyba:0)

  2. AccountController pomocí MySQL v ASP.NET MVC

  3. SQL Server vložit, pokud neexistuje, osvědčený postup

  4. Jak provést příkaz SQL s parametry v bash skriptu