我正在尝试从.Net Web应用程序执行python脚本。 为此,我从nuget软件包管理器安装了Python。
下面是在SQL Server数据库中插入记录的Python Scrip,
import pyodbc
conn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0};SERVER=*****\SQLEXPRESS;DATABASE=TestDB;UID=sa;PWD=****')
cur = conn.cursor()
cur.execute("Insert into Results([EmailID],[Journey]) VALUES (?,?)", 55, "JourneyName")
conn.commit()
Print("Success")
下面是要在python文件上方执行的C#代码。
public string run_cmd(string strPath) //this must not be async
{
try
{
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = @"C:\Anaconda\python.exe";
start.Arguments = string.Format("C:\\Users\\261866\\TestPYCode.py");
start.UseShellExecute = false;
start.CreateNoWindow = true;
start.RedirectStandardOutput = true;
start.RedirectStandardError = true;
using (Process process = Process.Start(start))
{
using (StreamReader reader = process.StandardOutput)
{
string stderr = process.StandardError.ReadToEnd();
string result = reader.ReadToEnd();
return result;
}
}
}
catch (Exception ex)
{
return ex.Message;
}
return "run till end";
}
我在执行上述代码时遇到错误
Traceback (most recent call last):
File "C:\Users\261866\TestPYCode.py", line 1, in <module>
import pyodbc
ModuleNotFoundError: No module named 'pyodbc'
我已经在Iron Python中尝试过相同的方法,但是仍然遇到相同的错误。
注意:Jupiter笔记本中正在运行相同的Python代码,但Visual Studio中未运行该代码,
pip pyodbc库已经安装
,已安装用于SQL的ODBC驱动程序
如果我在python脚本中编写任何“ import *”语句,就会出现实际上相同的错误。