sql >> Databasteknik >  >> RDS >> Sqlserver

Hur ansluter jag till Microsoft SQL Server 2008 (MSSQL) från Matlab?

Jag presenterar nedan en genomgång av de olika metoderna för att komma åt databaser i MATLAB. Här är en lista med Stack Overflow-frågor där några av dem diskuterades:

Java

MATLAB har en inbäddad Java JVM, så att du direkt kan ringa JDBC-drivrutiner från MATLAB. Du måste först göra dem tillgängliga på Java classpth i MATLAB:

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();

Databasverktygslåda

Om du har tillgång till Databasverktygslådan , det kan förenkla ovanstående eftersom det fungerar som ett omslag runt JDBC/ODBC-grejer:

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)

Du kan också komma åt databasen via ODBC. Skapa först en DSN till MSSQL-server (Control Panel > ODBC Data Sources ), använd den sedan från Databas Toolbox:

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

COM

Du kan direkt använda ADO OLEDB-komponenten från MATLAB. Ett sätt är att ange en anslutningssträng (DNS-less):

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

Slutligen har de senaste versionerna av MATLAB lagt till möjligheten att ringa .NET från MATLAB . Så du kan använda ADO.NET-dataleverantörerna:

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. Att ställa in Play 2.4.0 med Postgres och HikariCP ger konfigurationsfel

  2. Hur man använder cPanel MySQL Database Wizard

  3. MySQL uppdatera uttalande för att lagra ranking positioner

  4. ODP.net Oracle Decimal Number precisionsproblem vid fyllning av en datauppsättning. Undantag:Aritmetisk operation resulterade i ett spill