LINUX.ORG.RU

Сообщения viotan

 

Как добавлять в Sql Server Compact данные? DML. Есть ли примеры?

Непосредственная проблема - установил SQL Server CE. Из C# SQL запросами пробовал добавлять данные. Запрос:

INSERT INTO albums (Name, artist)
VALUES ('Bean', (SELECT MAX(ID) FROM artists WHERE Name = 'County Beardman'))

Контекст: http://pastebin.com/wC03h9wZ

При разборе выдаёт ошибку: Ошибка при разборе запроса. [ Token line number = 1,Token line offset = 65,Token in error = SELECT ].
Без использования вложенного SELECT, INSERT работает. Логика моя заключалась в добавлении внешнего id (у альбома на исполнителя) который действительно существует в таблице и одним запросом. MAX(ID) написал из-за того, что на одном форуме прочитал, что SQL Server ce выдаёт ошибку если вложенный SELECT возвращает скалярное значение, и там же приводился пример с MAX.

Работал с базами данных в C# немного, а SQL Server только установил. Посоветуйте как лучше производить такие базовые операции с этой базой данных и есть ли источники, в которых они показаны на примерах.
На msdn вода по-большей части. Находил описание SQL Server ce, список функций - из полезного и по большому счёту всё.

viotan
()

Maxima as library

Лор, вопрос такой: как использовать Maxima как библиотеку? на платформе Windows. Что я нашёл по этому вопросу: Очень много написано тут http://www.math.utexas.edu/pipermail/maxima/2007/008152.html
Продолжение переписки http://www.math.utexas.edu/pipermail/maxima/2009/017523.html приведу его:

«Dear developers,

This is an update to the post by Bruno Daniel found here: http://article.gmane.org/gmane.comp.mathematics.maxima.general/17602

In order to work with the newer versions of Maxima (5.18.1) and SBCL (1.0.29), the code suggested by Mr. Daniel should be changed slightly:

----------------------------------------------------------»

(defpackage :my-package (:use :common-lisp))
(in-package :my-package)

(let ()
  (load "/Users/knutgj/Code/usemaxima/maxima-5.18.1/lisp-utils/defsystem.lisp")
;; This creates a lot of warnings in SBCL, but they seem to do no harm:
  (load "/Users/knutgj/Code/usemaxima/maxima-5.18.1/src/maxima.system")
  (funcall (intern (symbol-name :operate-on-system) :mk) "maxima" 
  :load :verbose t))


(let ()
  (setf maxima::*load-verbose* nil)
  (setf *debugger-hook* #'maxima::maxima-lisp-debugger)
  (let ((input-stream maxima::*standard-input*)
	(batch-flag nil))
    (progn
      (maxima::set-readtable-for-macsyma)
      (setf maxima::*read-default-float-format* 'double-float))
    (catch 'to-lisp
      (maxima::initialize-real-and-run-time)
      (intl::setlocale)
      (maxima::set-locale-subdir)
      (maxima::adjust-character-encoding)
      (maxima::set-pathnames)
      (when (boundp 'maxima::*maxima-prefix*)
	(push (pathname (concatenate 'string maxima::*maxima-prefix* "/share/locale/"))
	      intl::*locale-directories*))
      (setf (values input-stream batch-flag)
	    (maxima::process-maxima-args input-stream batch-flag))))
  )


(defparameter *maxima-package* (find-package :maxima))

(defun maxima::intern-invert-case (string)
  (intern (maxima::maybe-invert-string-case string) *maxima-package*))

также отсюда примерно такой же пример: http://d.hatena.ne.jp/niitsuma/20080328/1226706399 с такой инструкцией:

  • call maxima from sbcl
  • download maxima-5.16.3.tar.gz from http://maxima.sourceforge.net/
  • tar zxf maxima-5.16.3.tar.gz; cd maxima-5.16.3
  • LANG=C ./configure --disable-ecl --enable-sbcl --with-default- lisp=sbcl //эта инструкция не понятна вообще, так как то ли относится к настройке emacs, о котором ничего не упоминается, то ли ещё к чему-либо.
  • LANG=C make
  • LANG=C make check
  • suso make install
  • sudo checkinstall
  • cp -R src /usr/local/share/maxima/5.16.3/
  • ln -s /usr/local/share/maxima/5.16.3/src/maxima.asd /usr/share/common-lisp/systems/ comment out ;(:file «ecl-port») in /usr/local/share/maxima/5.16.3/src/maxima.asd need more some comment out line
  • cp -R /usr/local/share/maxima/5.16.3/src/binary-sbcl/* /var/cache/
  • common-lisp-controller/$MYID/sbcl/local/usr/local/share/maxima/5.16.3/src/
  • sbcl
(require :maxima)
(load "/usr/local/share/maxima/5.16.3/lisp-utils/defsystem.lisp")
(load "/usr/local/share/maxima/5.16.3/src/maxima-package.lisp")
(in-package :maxima)
(setf *MAXIMA-TEMPDIR* "/tmp")
($PLOT2D '((MEXPT SIMP) $X 2) '((MLIST SIMP) $X -5 5))

Проблема в том, что я не совсем понимаю, что за это за файлы загружаются (defsystem.lisp и maxima-package.lisp), и почему в примерах они разные. В установленной на windows системе нет таких путей как «/usr/local/...» есть «<user>/AppData/(Local или Roaming)/», но там естественно никаких файлов не лежит. Эти некоторые из файлов смог найти в самой maxima, очевидно там и должны быть.

В общем хотел узнать, что нужно, чтобы загрузить в SBCL maxima. Ещё интерес вызывает компиляция maxima на SBCL.

Заранее спасибо за помощь :)

viotan
()

RSS подписка на новые темы