Raspberry Pi:モノとCを使用してMSSQLデータベースを呼び出す

作業関係では、最も公開されているデータベースはMicrosoft SQL Serverであるため、Raspberry Piで遊んでも、MSSQLへのアクセス方法を考えています。現在、PythonとPHP、UIを使用したQTについて考え、テストすることができます。PythonとQTはunixodbcをインストールする必要があり、phpはphp-sybaseライブラリを必要とします。最近、古くから知られているモノをふと思い出したのですが、試してみませんか?

ちょうどそれをする、sudo apt-get install mono-complete

今はそれだけで十分です。

テキストエディターを開いてテストコードを入力し、test.csとして保存します。

using System;
using System.Data;
using System.Data.SqlClient;

namespace Test
{
	class Program
	{
		static void Main(string [] args)
		{
			Console.WriteLine("MSSQL 测试(编译@RPI)...\r\n");
			Console.WriteLine(GetVersion());
		}

		static string GetVersion()
		{
			//string conn = "server=192.168.1.10;database=master;user id=sa;password=****;";
			string conn = "server=192.168.1.10;database=A;user id=sa;password=****";

			// string sql = "select @@version";
			string sql = "select top 1 Remark from mono_test";

			using(SqlConnection db = new SqlConnection(conn))
			{
				SqlCommand cmd = new SqlCommand(sql,db);
				
				try
				{
					db.Open();

					string x = cmd.ExecuteScalar().ToString();

					return x;
				}
				catch(Exception ex)
				{
					return ex.Message;
				}
				finally
				{
					cmd.Dispose();
					db.Close();

				}
			}

		}

	}
}

次にコンパイルします。

mcs test.cs -r:System.Data

警告やエラーはありません。lsはtest.exeが生成されたことを発見しました。fileコマンドを使用して、レポートがPE32実行可能ファイルであることを確認します。最後に、mono test.exeを使用して実行しました。SQLServerのデータは正常に取得され、中国語の文字化けはありませんでした。

このexeをWindowsにコピーすると、問題なく実行されます。

面白い。では、WindowsでVSを使用してコンパイルされたコンソールexeはRaspberry Piで実行できますか?

VS2017を開き、Windowsクラシックデスクトップ用の新しいコンソールプロジェクト、.netフレームワークバージョン4.5.2(現在のモノのデフォルトバージョン、Raspberry Piでmcs --helpを実行し、-sdkオプションで確認できます)を作成してテストします。 csのコアコードは過去にコピーされます(前のコードを区別するために、名前空間はrpitestに変更され、プロンプトも "compile @Windows"に変更されます)。

Windowsで生成されたrpitest.exeをコンパイルして取得します。それをRaspberry Piにコピーし、mono rpitest.exeを実行します。クエリを正常に実行することもできます。

ハ、ちょっと面白い。

==== Windows UIは引き続きサポートされています====

122件の元の記事を公開 61のよう 訪問数530,000以上

おすすめ

転載: blog.csdn.net/ki1381/article/details/103753369