Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да се свържа с Microsoft SQL Server 2008 (MSSQL) от Matlab?

Представям по-долу преглед на различните подходи за достъп до бази данни в MATLAB. Ето списък с въпроси за препълване на стека, където някои от тях бяха обсъдени:

Java

MATLAB има вградена Java JVM, която ви позволява директно да извиквате JDBC драйвери от MATLAB. Първо трябва да ги направите достъпни в Java classpth в 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();

Кутия с инструменти за бази данни

Ако имате достъп до Кутия с инструменти за бази данни , може да опрости горното, тъй като действа като обвивка около 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)

Можете също да получите достъп до базата данни чрез ODBC. Първо създайте DSN към MSSQL сървър (Control Panel > ODBC Data Sources ), след това го използвайте от Database Toolbox:

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

COM

Можете директно да използвате компонента ADO OLEDB от MATLAB. Един от начините е да посочите низ за връзка (без 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

И накрая, последните версии на MATLAB добавиха възможност за извикване .NET от MATLAB . Така че можете да използвате доставчиците на данни 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. как да получите пълния набор от резултати от SSMS

  2. SQL IN заявката дава странен резултат

  3. Обхват на променливи, които са дефинирани в рамките на блок while в съхранени процедури - SQl сървър

  4. Как мога да премина от режим на SQL Server на Windows към смесен режим (SQL Server 2008)?

  5. Как да изброя всички SSIS пакети на Sql Server 2008 с помощта на T-SQL