Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak połączyć się z Microsoft SQL Server 2008 (MSSQL) z Matlaba?

Poniżej przedstawiam przegląd różnych podejść do dostępu do baz danych w MATLAB. Oto lista pytań dotyczących przepełnienia stosu, w których omówiono niektóre z nich:

Jawa

MATLAB ma wbudowaną maszynę wirtualną Java, umożliwiającą bezpośrednie wywoływanie Sterowniki JDBC od MATLAB. Najpierw musisz udostępnić je na klasa w 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();

Przybornik bazy danych

Jeśli masz dostęp do Przybornika bazy danych , może uprościć powyższe, ponieważ działa jako opakowanie wokół elementów 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)

Dostęp do bazy danych można również uzyskać za pośrednictwem ODBC. Najpierw utwórz DSN dla MSSQL Server (Control Panel > ODBC Data Sources ), a następnie użyj go z Przybornika bazy danych:

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

COM

Możesz bezpośrednio użyć komponentu ADO OLEDB z MATLAB. Jednym ze sposobów jest określenie ciągu połączenia (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

Wreszcie, ostatnie wersje MATLAB dodały możliwość .NET od MATLAB . Możesz więc użyć dostawców danych 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. policz liczbę spacji w wartościach w serwerze sql

  2. CROSS JOIN vs INNER JOIN w SQL

  3. Jak zapobiegać atakom typu SQL Injection przez bezpieczne?

  4. SQLServer - Jak znaleźć tabele zależne na mojej tabeli?

  5. Jak uzyskać różnicę między dwoma wierszami dla pola kolumny?